diff --git a/.github/ISSUE_TEMPLATE/the--file-issues-on-bugzilla-sapsailing-com--proxy-template.md b/.github/ISSUE_TEMPLATE/the--file-issues-on-bugzilla-sapsailing-com--proxy-template.md new file mode 100644 index 00000000000..7ab6dc7a075 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/the--file-issues-on-bugzilla-sapsailing-com--proxy-template.md @@ -0,0 +1,10 @@ +--- +name: File Issues on bugzilla.sapsailing.com +about: Please report bugs and issues on https://bugzilla.sapsailing.com instead +title: 'Do not report issues here. Please to go https://bugzilla.sapsailing.com' +labels: '' +assignees: '' + +--- + +Dear user, as mentioned in our [README](https://github.com/SAP/sailing-analytics?tab=readme-ov-file#contributing) we have our issue tracker at [https://bugzilla.sapsailing.com](bugzilla.sapsailing.com). Please register there and file bugs, issues, or feature/enhancement requests there. Thank you. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000000..a949c4d21a9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,14 @@ +# Issue Addressed by this PR +[Bug XXXX](https://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=XXXX) + +## Description + +_FILL IN DETAILS HERE_ + +## Checklist for Pull Requests + +- [ ] Supplied as many details as possible on this change +- [ ] Included the link to the associated Bugzilla issue in the Issue section above +- [ ] New code has been formatted using the [code formatter](https://github.com/SAP/sailing-analytics/blob/main/java/CodeFormatter.xml) +- [ ] The code has **unit tests** where applicable and is easily unit-testable +- [ ] This branch is appropriately named for the associated issue, usually `bugXXXX` diff --git a/configuration/environments_scripts/central_reverse_proxy/files/usr/local/bin/downloadNewArchivedTracTracEvents.sh b/configuration/environments_scripts/central_reverse_proxy/files/usr/local/bin/downloadNewArchivedTracTracEvents.sh index 12d64a1e2b1..ea79059ef45 100755 --- a/configuration/environments_scripts/central_reverse_proxy/files/usr/local/bin/downloadNewArchivedTracTracEvents.sh +++ b/configuration/environments_scripts/central_reverse_proxy/files/usr/local/bin/downloadNewArchivedTracTracEvents.sh @@ -3,6 +3,8 @@ # Downloads all TracTrac event data based on ${GIT_ROOT}/configuration/tractrac-json-urls # into the target directory (specified as $1) for those event URLs whose specific folder # does not yet exist in the target directory. +# The TRACTRAC_API_TOKEN environment variable must contain a TracTrac API token valid for +# reading the events. It will be passed on to the downloadTracTracEvent script TARGET_DIR="${1}" if [[ $# -eq 1 ]]; then GIT_ROOT=/home/wiki/gitwiki @@ -14,10 +16,13 @@ for i in `cat "${JSON_URLS_FILE}"`; do EVENT_DB="$( basename $( dirname ${i} ) )" if [ -d "${TARGET_DIR}/${EVENT_DB}" ]; then echo "Directory for event ${EVENT_DB} already found. Not downloading again. Use" - echo " downloadTracTracEvent ${i} ${TARGET_DIR}" + echo " ${GIT_ROOT}/configuration/downloadTracTracEvent ${i} ${TARGET_DIR}" echo "to force an update." else echo "Did not find directory for event ${EVENT_DB} yet in ${TARGET_DIR}. Downloading..." - downloadTracTracEvent "${i}" "${TARGET_DIR}" + if [ -n "${TRACTRAC_API_TOKEN}" ]; then + echo "Using authenticated requests for the params files" + fi + downloadTracTracEvent "${i}" "${TARGET_DIR}" "${TRACTRAC_API_TOKEN}" fi done diff --git a/configuration/environments_scripts/central_reverse_proxy/files/usr/local/bin/downloadTracTracEvent b/configuration/environments_scripts/central_reverse_proxy/files/usr/local/bin/downloadTracTracEvent index c0969088e20..6a5cdfbb0b9 100755 --- a/configuration/environments_scripts/central_reverse_proxy/files/usr/local/bin/downloadTracTracEvent +++ b/configuration/environments_scripts/central_reverse_proxy/files/usr/local/bin/downloadTracTracEvent @@ -1,6 +1,6 @@ #!/bin/bash # Example usage: -# ./downloadTracTracEvent https://event.tractrac.com/events/event_20150625_KielerWoch/jsonservice.php /tmp/KielerWoche2015 +# ./downloadTracTracEvent https://event.tractrac.com/events/event_20150625_KielerWoch/jsonservice.php /tmp/KielerWoche2015 [ {TracTracAPIToken} ] # # To obtain the set of TracTrac JSON URLs currently in use by the archive, on # dbserver.internal.sapsailing.com try this: @@ -9,25 +9,34 @@ # for i in `cat /tmp/tractrac-json-urls`; do ./downloadTracTracEvent $i /tmp/tractrac-tracks; done # and you will get a folder per event under /tmp/tractrac-tracks with all .mtb and .txt files as well # as the .json file in them. +# If a TracTrac API token is passed as the last parameter, it will be used to authenticate the requests +# made to TracTrac. EVENT_JSON_URL="${1}" EVENT_DB="$( basename $( dirname ${EVENT_JSON_URL} ) )" TARGET_DIR="${2}/${EVENT_DB}" +TRACTRAC_API_TOKEN="${3}" +if [ -n "${TRACTRAC_API_TOKEN}" ]; then + WGET_AUTHENTICATION_OPTION="--header=Authorization: Bearer ${TRACTRAC_API_TOKEN}" + echo "Authenticating the TracTrac requests" +else + WGET_AUTHENTICATION_OPTION="" +fi if [ ! -d "${TARGET_DIR}" ]; then echo "${TARGET_DIR} does not exist; making it..." mkdir -p "${TARGET_DIR}" fi pushd "${TARGET_DIR}" # create a patched version of the .json file that uses only relative params_url values: -wget -O - "${EVENT_JSON_URL}" | sed -e 's/"params_url":"[^"]*\/\([^"/]*\.txt\)"/"params_url":"\1"/g' >"${EVENT_DB}.json" -for params_url in `wget -O - "${EVENT_JSON_URL}" | jq -r '.races[].params_url'`; do +wget -O - "${WGET_AUTHENTICATION_OPTION}" "${EVENT_JSON_URL}" | sed -e 's/"params_url":"[^"]*\/\([^"/]*\.txt\)"/"params_url":"\1"/g' >"${EVENT_DB}.json" +for params_url in `wget -O - "${WGET_AUTHENTICATION_OPTION}" "${EVENT_JSON_URL}" | jq -r '.races[].params_url'`; do echo ${params_url} - wget "${params_url}" + wget "${WGET_AUTHENTICATION_OPTION}" "${params_url}" FILE="`basename ${params_url}`" STORED_URI_PART=`grep -i ^stored-uri: "${FILE}" | head -1 | sed -e 's/^stored-uri://'` STORED_URI="`dirname ${EVENT_JSON_URL}`/${STORED_URI_PART}" echo "stored-uri: ${STORED_URI}" # presumably the dirname of the stored URI is something like "datafiles" mkdir -p `dirname ${STORED_URI_PART}` - wget -O "${STORED_URI_PART}" "${STORED_URI}" + wget -O "${STORED_URI_PART}" "${WGET_AUTHENTICATION_OPTION}" "${STORED_URI}" done popd diff --git a/configuration/environments_scripts/central_reverse_proxy/setup-central-reverse-proxy.sh b/configuration/environments_scripts/central_reverse_proxy/setup-central-reverse-proxy.sh index 5d428cb0ce9..f79ab0844f7 100755 --- a/configuration/environments_scripts/central_reverse_proxy/setup-central-reverse-proxy.sh +++ b/configuration/environments_scripts/central_reverse_proxy/setup-central-reverse-proxy.sh @@ -8,7 +8,8 @@ # existence of a running webserver accessible under sapsailing.com. # # Start by launching a new instance, e.g., of type t3.xlarge, in the same AZ -# as the current Webserver / Central Reverse Proxy. This will become important +# as the current Webserver / Central Reverse Proxy, and with 100GB of root +# volume space. This will become important # as you will need to detach volumes from the latter to attach them to the # new instance. # @@ -173,6 +174,10 @@ cd ~ # Copies across the key vault and other relevant secrets from the existing # central reverse proxy's /root folder: rsync -a root@sapsailing.com:/root/{dev-secrets,github_tools_sap.pat,hudson-aws-credentials,key_vault,mail.properties,secrets,ssh-key-reader.token} /root +# Distribute secrets HTTPD needs for GitHub OAuth client: +cat /root/secrets | grep GITHUB_OAUTH_CLIENT_ >/usr/share/httpd/secrets +chmod 660 /usr/share/httpd/secrets +chown apache:apache /usr/share/httpd/secrets scp -o StrictHostKeyChecking=no -r root@sapsailing.com:/etc/letsencrypt /etc # add basic test page which won't cause redirect error code if used as a health check. cat < /var/www/html/index.html diff --git a/configuration/environments_scripts/central_reverse_proxy/users/wiki/crontab-download-new-archived-trac-trac-events b/configuration/environments_scripts/central_reverse_proxy/users/wiki/crontab-download-new-archived-trac-trac-events index 858d1f80bca..9c06d714c8e 100644 --- a/configuration/environments_scripts/central_reverse_proxy/users/wiki/crontab-download-new-archived-trac-trac-events +++ b/configuration/environments_scripts/central_reverse_proxy/users/wiki/crontab-download-new-archived-trac-trac-events @@ -1 +1 @@ -15 12 * * * export PATH=/bin:/usr/bin:/usr/local/bin; downloadNewArchivedTracTracEvents.sh /home/trac/static/TracTracTracks "/home/wiki/gitwiki" >/home/wiki/downloadNewArchivedTracTracEvents.out 2>/home/wiki/downloadNewArchivedTracTracEvents.err +15 12 * * * export PATH=/bin:/usr/bin:/usr/local/bin; . /home/wiki/secrets; export TRACTRAC_API_TOKEN; downloadNewArchivedTracTracEvents.sh /home/trac/static/TracTracTracks "/home/wiki/gitwiki" >/home/wiki/downloadNewArchivedTracTracEvents.out 2>/home/wiki/downloadNewArchivedTracTracEvents.err diff --git a/configuration/environments_scripts/sailing_server/files/usr/local/bin/refreshInstance.sh b/configuration/environments_scripts/sailing_server/files/usr/local/bin/refreshInstance.sh index 4b500a8c133..420df174e77 100755 --- a/configuration/environments_scripts/sailing_server/files/usr/local/bin/refreshInstance.sh +++ b/configuration/environments_scripts/sailing_server/files/usr/local/bin/refreshInstance.sh @@ -153,17 +153,11 @@ install_environment () load_from_release_file () { if [[ ${INSTALL_FROM_RELEASE} == "" ]]; then - INSTALL_FROM_RELEASE="$(wget -O - https://releases.sapsailing.com/ 2>/dev/null | grep main- | tail -1 | sed -e 's/^.*\(main-[0-9]*\).*$/\1/')" - echo "You didn't provide a release. Defaulting to latest master build https://releases.sapsailing.com/$INSTALL_FROM_RELEASE" - # Alternatively, to download a release from Github, here is how the latest Java8/main-release can be obtained: - # curl -L -H 'Authorization: Bearer ***' https://api.github.com/repos/SAP/sailing-analytics/releases 2>/dev/null | jq -r 'sort_by(.created_at) | reverse | map(select(.name | startswith("main-")))[0].assets[] | select(.content_type=="application/x-tar").id' - # will output something like: - # 169233159 - # which can then be used in a request such as: - # curl -L -o main-1234567890.tar.gz -H 'Accept: application/octet-stream' -H 'Authorization: Bearer ***' 'https://api.github.com/repos/SAP/sailing-analytics/releases/assets/169233159' - # Or to obtain the latest docker-17 release, try this: - # curl -L -H 'Authorization: Bearer ***' https://api.github.com/repos/SAP/sailing-analytics/releases 2>/dev/null | jq -r 'sort_by(.created_at) | reverse | map(select(.name | startswith("docker-17-")))[0].assets[] | select(.content_type=="application/x-tar").id' - # and then on like above... + GITHUB_RELEASE=$( curl -L "https://api.github.com/repos/SAP/sailing-analytics/releases?per_page=100" 2>/dev/null | jq -r 'sort_by(.created_at) | reverse | map(select(.name | startswith("main-")))[0].assets[] | select(.content_type=="application/x-tar")' ) + INSTALL_FROM_RELEASE=$( echo "${GITHUB_RELEASE}" | jq -r '.name' | sed -e 's/\.tar\.gz$//' ) + echo "You didn't provide a release. Defaulting to latest main branch build ${INSTALL_FROM_RELEASE}" + else + GITHUB_RELEASE=$( curl -L "https://api.github.com/repos/SAP/sailing-analytics/releases?per_page=100" 2>/dev/null | jq -r 'sort_by(.created_at) | reverse | map(select(.name=="'${INSTALL_FROM_RELEASE}'"))[0].assets[] | select(.content_type=="application/x-tar")' ) fi if which mail; then if [ -n "${BUILD_COMPLETE_NOTIFY}" ]; then @@ -182,8 +176,8 @@ load_from_release_file () SCP_HOST=$( echo ${INSTALL_FROM_SCP_USER_AT_HOST_AND_PORT} | sed -e 's/^\([^:]*\):\?\([0-9]*\)\?$/\1/' ) scp ${SCP_PORT_OPTION} ${SCP_HOST}:/home/trac/releases/${INSTALL_FROM_RELEASE}/${RELEASE_FILE_NAME} . else - echo "Loading from release file https://releases.sapsailing.com/${INSTALL_FROM_RELEASE}/${RELEASE_FILE_NAME}" - wget https://releases.sapsailing.com/${INSTALL_FROM_RELEASE}/${RELEASE_FILE_NAME} + echo "Loading from release file $( echo "${GITHUB_RELEASE}" | jq -r '.browser_download_url' )" + wget $( echo "${GITHUB_RELEASE}" | jq -r '.browser_download_url' ) fi load_from_local_release_file } diff --git a/configuration/tractrac-json-urls b/configuration/tractrac-json-urls index a0bf3f8620b..abef7a5f6a8 100644 --- a/configuration/tractrac-json-urls +++ b/configuration/tractrac-json-urls @@ -301,20 +301,16 @@ http://germanmaster.traclive.dk/events/event_20141022_Blubber/jsonservice.php http://germanmaster.traclive.dk/events/event_20141107_Bundesliga/jsonservice.php http://germanmaster.traclive.dk/events/event_20150310_Palmatrain/jsonservice.php http://germanmaster.traclive.dk/events/event_20150929_mRIDM/jsonservice.php +http://historical1.tractrac.com/events/event_20130724_ESSPorto/jsonservice.php +http://historical1.tractrac.com/events/event_20130822_ESSCardiff/jsonservice.php +http://historical1.tractrac.com/events/event_20131002_ESSNice/jsonservice.php +http://historical1.tractrac.com/events/event_20140218_ESSSingapo/jsonservice.php http://kml.skitrac.traclive.dk/events/event_20120730_IDMDrachen/jsonservice.php http://kml.skitrac.traclive.dk/events/event_20120803_BMWCup/jsonservice.php -http://premium.event.tractrac.com/events/event_20170603_SailingWor/jsonservice.php -http://secondary.traclive.dk/events/event_20130621_KielerWoch/jsonservice.php -http://secondary.traclive.dk/events/event_20130626_KielerWoch/jsonservice.php -http://secondary.traclive.dk/events/event_20130627_KielerWoch/jsonservice.php http://secondary.traclive.dk/events/event_20130703_erEuropean/jsonservice.php http://secondary.traclive.dk/events/event_20130706_MiniPacifi/jsonservice.php http://secondary.traclive.dk/events/event_20130711_Travemuend/jsonservice.php http://secondary.traclive.dk/events/event_20130719_DeutscheSe/jsonservice.php -http://secondary.traclive.dk/events/event_20130724_ESSPorto/jsonservice.php -http://secondary.traclive.dk/events/event_20130822_ESSCardiff/jsonservice.php -http://secondary.traclive.dk/events/event_20131002_ESSNice/jsonservice.php -http://secondary.traclive.dk/events/event_20140218_ESSSingapo/jsonservice.php http://secondary.traclive.dk/events/event_20140318_ESSMuscat/jsonservice.php http://secondary.traclive.dk/events/event_20140429_ESSQingdao/jsonservice.php http://secondary.traclive.dk/events/event_20140528_Sejlsports/jsonservice.php @@ -352,21 +348,29 @@ http://traclive.dk/events/event_20130401_STGTrainin/jsonservice.php http://traclive.dk/events/event_20130405_ESSSingapo/jsonservice.php http://traclive.dk/events/event_20130424_IDMStarboo/jsonservice.php http://traclive.dk/events/event_20130429_ESSQingdao/jsonservice.php -http://traclive.dk/events/event_20130917_IDMO/jsonservice.php http://traclive.dk/events/event_20131112_ESSFlorian/jsonservice.php http://traclive.dk/events/event_20140820_Sejlsports/jsonservice.php http://traclive.dk/events/event_20140904_Sejlsports/jsonservice.php http://traclive.dk/events/event_20140912_CopyofSejl/jsonservice.php http://traclive.dk/events/event_20141025_Sejlsports/jsonservice.php https://club.tractrac.com/events/event_20150625_KielerWoch2/jsonservice.php +https://club.tractrac.com/events/event_20180117_ABeamConsu/jsonservice.php https://club.tractrac.com/events/event_20181017_ESSSanDieg/jsonservice.php https://club.tractrac.com/events/event_20181129_ESSLosCabo/jsonservice.php https://club.tractrac.com/events/event_20200901_KielerWoch1/jsonservice.php https://club.tractrac.com/events/event_20200910_KielerWoch/jsonservice.php https://club.tractrac.com/events/event_20200914_ererFXNacr/jsonservice.php https://club.tractrac.com/events/event_20210902_KielerWoch/jsonservice.php +https://event.tractrac.com/events/event_20130621_KielerWoch/jsonservice.php +https://event.tractrac.com/events/event_20130626_KielerWoch/jsonservice.php +https://event.tractrac.com/events/event_20130627_KielerWoch/jsonservice.php +https://event.tractrac.com/events/event_20130917_IDMO/jsonservice.php +https://event.tractrac.com/events/event_20160531_EventTrain/jsonservice.php +https://event.tractrac.com/events/event_20170628_NordicJ/jsonservice.php https://event.tractrac.com/events/event_20170727_Travemnder2/jsonservice.php https://event.tractrac.com/events/event_20171013_DSLPokalGl/jsonservice.php +https://event.tractrac.com/events/event_20171013_MesternesM/jsonservice.php +https://event.tractrac.com/events/event_20181009_MesternesM/jsonservice.php https://event.tractrac.com/events/event_20181012_MstarnasMs/jsonservice.php https://event.tractrac.com/events/event_20181018_GermanSail/jsonservice.php https://event.tractrac.com/events/event_20181108_RedBullFoi/jsonservice.php @@ -392,21 +396,36 @@ https://event.tractrac.com/events/event_20191125_erNacraOce/jsonservice.php https://event.tractrac.com/events/event_20191128_erNacraWor/jsonservice.php https://event.tractrac.com/events/event_20200119_SailingWor/jsonservice.php https://event.tractrac.com/events/event_20200205_ererFXNacr/jsonservice.php +https://event.tractrac.com/events/event_20200609_Askerseilf/jsonservice.php +https://event.tractrac.com/events/event_20200624_SjllandRun/jsonservice.php +https://event.tractrac.com/events/event_20200709_CopyofAtte/jsonservice.php +https://event.tractrac.com/events/event_20200717_SwissSaili/jsonservice.php https://event.tractrac.com/events/event_20200807_DivSejlspo/jsonservice.php https://event.tractrac.com/events/event_20200813_SwedishSLA/jsonservice.php https://event.tractrac.com/events/event_20200814_DivSejlspo/jsonservice.php https://event.tractrac.com/events/event_20200821_Ungdomslig/jsonservice.php +https://event.tractrac.com/events/event_20200822_SwissSaili/jsonservice.php https://event.tractrac.com/events/event_20200828_DivSejlspo/jsonservice.php +https://event.tractrac.com/events/event_20200828_SwissSaili/jsonservice.php https://event.tractrac.com/events/event_20200903_SwedishSLA/jsonservice.php https://event.tractrac.com/events/event_20200904_DivSejlspo/jsonservice.php +https://event.tractrac.com/events/event_20200905_SwissSaili/jsonservice.php +https://event.tractrac.com/events/event_20200908_SWANTUSCAN/jsonservice.php https://event.tractrac.com/events/event_20200911_FinnishSai/jsonservice.php https://event.tractrac.com/events/event_20200918_FinnishSai/jsonservice.php +https://event.tractrac.com/events/event_20200930_HelgaCup/jsonservice.php https://event.tractrac.com/events/event_20201001_FinnishSai/jsonservice.php https://event.tractrac.com/events/event_20201002_SwedishSLQ/jsonservice.php +https://event.tractrac.com/events/event_20201002_SwissSaili/jsonservice.php +https://event.tractrac.com/events/event_20201008_SwissSaili/jsonservice.php https://event.tractrac.com/events/event_20201009_SwedishSLM/jsonservice.php +https://event.tractrac.com/events/event_20201013_SwanOneDes/jsonservice.php +https://event.tractrac.com/events/event_20201016_SwissSaili/jsonservice.php https://event.tractrac.com/events/event_20210401_Charleston/jsonservice.php https://event.tractrac.com/events/event_20210510_Sejlsports/jsonservice.php https://event.tractrac.com/events/event_20210512_Sejlsports/jsonservice.php +https://event.tractrac.com/events/event_20210515_ORCEUROPEA/jsonservice.php +https://event.tractrac.com/events/event_20210517_ORCEuropea/jsonservice.php https://event.tractrac.com/events/event_20210526_MedemblikR/jsonservice.php https://event.tractrac.com/events/event_20210602_Sejlsports/jsonservice.php https://event.tractrac.com/events/event_20210607_LNVoileNan/jsonservice.php @@ -414,6 +433,7 @@ https://event.tractrac.com/events/event_20210609_Allsvenska/jsonservice.php https://event.tractrac.com/events/event_20210616_Sejlsports/jsonservice.php https://event.tractrac.com/events/event_20210707_NorskSeils/jsonservice.php https://event.tractrac.com/events/event_20210719_Tokyosaili/jsonservice.php +https://event.tractrac.com/events/event_20210809_NeustdterS/jsonservice.php https://event.tractrac.com/events/event_20210811_NorskSeils/jsonservice.php https://event.tractrac.com/events/event_20210811_Sejlsports/jsonservice.php https://event.tractrac.com/events/event_20210815_Allsvenska/jsonservice.php @@ -445,6 +465,8 @@ https://event.tractrac.com/events/event_20230622_KielerWoch/jsonservice.php https://event.tractrac.com/events/event_20240312_TrofeoPrin/jsonservice.php https://event.tractrac.com/events/event_20240411_SemaineOly/jsonservice.php https://event.tractrac.com/events/event_20240727_ParisOlymp/jsonservice.php +https://event.tractrac.com/events/event_20250611_HelgaCup/jsonservice.php +https://event.tractrac.com/events/event_20250711_ererFXNacr/jsonservice.php https://event2.tractrac.com/events/event_20190813_Olympictes/jsonservice.php https://event3.tractrac.com/events/event_20220403_TrofeoPrin/jsonservice.php https://event3.tractrac.com/events/event_20220428_JOCJuniorO/jsonservice.php @@ -546,8 +568,30 @@ https://event3.tractrac.com/events/event_20231105_Europeaner/jsonservice.php https://event3.tractrac.com/events/event_20240129_HongKongRa/jsonservice.php https://event3.tractrac.com/events/event_20240223_WORLDCHAMP/jsonservice.php https://event3.tractrac.com/events/event_20240304_erWorldCha/jsonservice.php +https://event3.tractrac.com/events/event_20240503_NorskSeils/jsonservice.php +https://event3.tractrac.com/events/event_20240507_Sejlsports/jsonservice.php +https://event3.tractrac.com/events/event_20240517_Sejlsports/jsonservice.php +https://event3.tractrac.com/events/event_20240524_Sejlsports/jsonservice.php https://event3.tractrac.com/events/event_20240606_HelgaCup/jsonservice.php +https://event3.tractrac.com/events/event_20240614_Sejlsports/jsonservice.php +https://event3.tractrac.com/events/event_20240622_NorskSeils/jsonservice.php https://event3.tractrac.com/events/event_20240625_KielerWoch/jsonservice.php +https://event3.tractrac.com/events/event_20240810_Sejlsports/jsonservice.php +https://event3.tractrac.com/events/event_20240817_NorskSeils/jsonservice.php +https://event3.tractrac.com/events/event_20240817_Sejlsports/jsonservice.php +https://event3.tractrac.com/events/event_20240824_NorskSeils/jsonservice.php +https://event3.tractrac.com/events/event_20240824_Sejlsports/jsonservice.php +https://event3.tractrac.com/events/event_20240831_Sejlsports/jsonservice.php +https://event3.tractrac.com/events/event_20240905_FinnishSai/jsonservice.php +https://event3.tractrac.com/events/event_20240913_WomenOnWat/jsonservice.php +https://event3.tractrac.com/events/event_20240920_NorskSeils/jsonservice.php +https://event3.tractrac.com/events/event_20240921_NorskSeils/jsonservice.php +https://event3.tractrac.com/events/event_20241010_MesternesM/jsonservice.php +https://event3.tractrac.com/events/event_20250620_KielerWoch/jsonservice.php +https://event3.tractrac.com/events/event_20250625_KielerWoch/jsonservice.php +https://historical1.tractrac.com/events/event_20170603_SailingWor/jsonservice.php https://liveserver1.tractrac.com/events/event_20240621_KielerWoch/jsonservice.php +https://liveserver1.tractrac.com/events/event_20241003_ClubeNaval/jsonservice.php +https://liveserver1.tractrac.com/events/event_20250210_HongKongRa/jsonservice.php https://paris1.tractrac.com/events/event_20240312_TrofeoPrin/jsonservice.php https://paris1.tractrac.com/events/event_20240411_SemaineOly/jsonservice.php diff --git a/configuration/updateTracTracApiTokenForArchive.sh b/configuration/updateTracTracApiTokenForArchive.sh new file mode 100755 index 00000000000..1bea420b584 --- /dev/null +++ b/configuration/updateTracTracApiTokenForArchive.sh @@ -0,0 +1,20 @@ +#!/bin/bash +if [ -z "${1}" -o "-h" = "${1}" ]; then + echo "Usage: ${0} {MONGO_URI} {NEW_API_TOKEN} [ {OLD_API_TOKEN_TO_REPLACE} ]" + echo "" + echo "Sets a new API token in the MONGO DB whose URI is given. This affects" + echo "the tracTracApiToken field in the CONNECTIVITY_PARAMS_FOR_RACES_TO_BE_RESTORED" + echo "collection." + echo "If the optional OLD_API_TOKEN_TO_REPLACE is provided, only those records will" + echo "be updated that have an existing tracTracApiToken equal to the old API token." +else + MONGO_URI="${1}" + TOKEN="${2}" + OLD_TOKEN="${3}" + if [ -n "${OLD_TOKEN}" ]; then + FILTER_FOR_OLD_TOKEN=', "tracTracApiToken": "'${OLD_TOKEN}'"' + else + FILTER_FOR_OLD_TOKEN="" + fi + mongosh --quiet --eval 'EJSON.stringify(db.CONNECTIVITY_PARAMS_FOR_RACES_TO_BE_RESTORED.updateMany({"type": "TRAC_TRAC"'"${FILTER_FOR_OLD_TOKEN}"'}, {$set: {"tracTracApiToken": "'${TOKEN}'"}}, {multi: true}))' "${MONGO_URI}" +fi diff --git a/java/com.sap.sailing.dashboards.gwt/.settings/com.gwtplugins.gwt.eclipse.core.prefs b/java/com.sap.sailing.dashboards.gwt/.settings/com.gwtplugins.gwt.eclipse.core.prefs index 2d792d2f5a0..888871113e8 100644 --- a/java/com.sap.sailing.dashboards.gwt/.settings/com.gwtplugins.gwt.eclipse.core.prefs +++ b/java/com.sap.sailing.dashboards.gwt/.settings/com.gwtplugins.gwt.eclipse.core.prefs @@ -1,5 +1,5 @@ //gwtVersion_/com.google.gwt.servlet/lib= -//gwtVersion_/com.google.gwt.user/lib= +//gwtVersion_/com.google.gwt.user/lib=2.11.1 //gwtVersion_/opt/gwt-2.11.0=2.11.0 //gwtVersion_/opt/gwt-2.11.1=2.11.1 //gwtVersion_/opt/gwt-2.12.2=2.12.2 diff --git a/java/com.sap.sailing.dashboards.gwt/GWT Dashboards SDM.launch b/java/com.sap.sailing.dashboards.gwt/GWT Dashboards SDM.launch index 4078b78130d..a55b69acfbb 100755 --- a/java/com.sap.sailing.dashboards.gwt/GWT Dashboards SDM.launch +++ b/java/com.sap.sailing.dashboards.gwt/GWT Dashboards SDM.launch @@ -51,6 +51,7 @@ + diff --git a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/RibDashboard.gwt.xml b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/RibDashboard.gwt.xml index 7d7e9ee641a..c9c635189a7 100644 --- a/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/RibDashboard.gwt.xml +++ b/java/com.sap.sailing.dashboards.gwt/src/main/java/com/sap/sailing/dashboards/gwt/RibDashboard.gwt.xml @@ -46,7 +46,7 @@ - + diff --git a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationImportTest.java b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationImportTest.java index 9559fe490d1..42a1266d033 100644 --- a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationImportTest.java +++ b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationImportTest.java @@ -5,7 +5,6 @@ import org.junit.jupiter.api.Disabled; import com.sap.sailing.declination.impl.NOAAImporterForTesting; -@Disabled("US Government Shutdown around 2025-10-01") public class NOAADeclinationImportTest extends DeclinationImportTest { @BeforeEach public void setUp() { diff --git a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationServiceTest.java b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationServiceTest.java index 0284e0b8b79..d7333cd0e5f 100644 --- a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationServiceTest.java +++ b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationServiceTest.java @@ -5,7 +5,6 @@ import org.junit.jupiter.api.Disabled; import com.sap.sailing.declination.impl.NOAAImporter; -@Disabled("US Government Shutdown around 2025-10-01") public class NOAADeclinationServiceTest extends DeclinationServiceTest { @Override @BeforeEach diff --git a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationStoreTest.java b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationStoreTest.java index 31c733e73a9..8bb14fd7255 100644 --- a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationStoreTest.java +++ b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAADeclinationStoreTest.java @@ -5,7 +5,6 @@ import org.junit.jupiter.api.Disabled; import com.sap.sailing.declination.impl.NOAAImporter; -@Disabled("US Government Shutdown around 2025-10-01") public class NOAADeclinationStoreTest extends DeclinationStoreTest { @Override @BeforeEach diff --git a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAASimpleDeclinationTest.java b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAASimpleDeclinationTest.java index df8e3ff6f05..349ea086455 100644 --- a/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAASimpleDeclinationTest.java +++ b/java/com.sap.sailing.declination.test/src/com/sap/sailing/declination/test/NOAASimpleDeclinationTest.java @@ -5,7 +5,6 @@ import org.junit.jupiter.api.Disabled; import com.sap.sailing.declination.impl.NOAAImporter; -@Disabled("US Government Shutdown around 2025-10-01") public class NOAASimpleDeclinationTest extends SimpleDeclinationTest { @BeforeEach public void setUp() { diff --git a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/subscription/PremiumRole.java b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/subscription/PremiumRole.java index 06f27ea1aa5..5be47a1112a 100644 --- a/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/subscription/PremiumRole.java +++ b/java/com.sap.sailing.domain.common/src/com/sap/sailing/domain/common/subscription/PremiumRole.java @@ -13,7 +13,6 @@ import com.sap.sse.security.shared.impl.SecuredSecurityTypes; */ public class PremiumRole extends RolePrototype { private static final UUID ROLE_ID = UUID.fromString("7021e7a2-569a-11ec-bf63-0242ac130002"); - private static final long serialVersionUID = 8032532973066767581L; private static final PremiumRole INSTANCE = new PremiumRole(); PremiumRole() { diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/SwissTimingAdapterPersistence.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/SwissTimingAdapterPersistence.java index f49647723f4..112ade2b2d4 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/SwissTimingAdapterPersistence.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/SwissTimingAdapterPersistence.java @@ -22,7 +22,7 @@ public interface SwissTimingAdapterPersistence { void deleteSwissTimingConfiguration(String creatorName, String jsonURL); - void updateSwissTimingConfiguration(SwissTimingConfiguration createSwissTimingConfiguration); + void updateSwissTimingConfiguration(SwissTimingConfiguration createSwissTimingConfiguration, boolean isApiTokenAvailable); void createSwissTimingConfiguration(SwissTimingConfiguration createSwissTimingConfiguration); } diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/FieldNames.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/FieldNames.java index 87c8b9c0a09..4551436d51a 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/FieldNames.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/FieldNames.java @@ -2,8 +2,22 @@ package com.sap.sailing.domain.swisstimingadapter.persistence.impl; public enum FieldNames { // SwissTiming configuration parameters: - ST_CONFIG_NAME, ST_CONFIG_HOSTNAME, ST_CONFIG_PORT, ST_CONFIG_JSON_URL, ST_CONFIG_UPDATE_URL, - ST_CONFIG_UPDATE_USERNAME, ST_CONFIG_UPDATE_PASSWORD, ST_CONFIG_CREATOR_NAME, ST_ARCHIVE_JSON_URL, ST_ARCHIVE_CREATOR_NAME, + ST_CONFIG_NAME, + ST_CONFIG_HOSTNAME, + ST_CONFIG_PORT, + ST_CONFIG_JSON_URL, + ST_CONFIG_UPDATE_URL, + + @Deprecated + ST_CONFIG_UPDATE_USERNAME, + + @Deprecated + ST_CONFIG_UPDATE_PASSWORD, + + ST_CONFIG_CREATOR_NAME, + ST_ARCHIVE_JSON_URL, + ST_ARCHIVE_CREATOR_NAME, + ST_CONFIG_API_TOKEN, // last message count field: LAST_MESSAGE_COUNT, diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java index 1fe37fa15e1..d881aee34d0 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java @@ -14,7 +14,9 @@ import com.mongodb.client.model.ReplaceOptions; import com.sap.sailing.domain.swisstimingadapter.SwissTimingArchiveConfiguration; import com.sap.sailing.domain.swisstimingadapter.SwissTimingConfiguration; import com.sap.sailing.domain.swisstimingadapter.SwissTimingFactory; +import com.sap.sailing.domain.swisstimingadapter.impl.SwissTimingConfigurationImpl; import com.sap.sailing.domain.swisstimingadapter.persistence.SwissTimingAdapterPersistence; +import com.sap.sse.common.Util; import com.sap.sse.mongodb.MongoDBService; public class SwissTimingAdapterPersistenceImpl implements SwissTimingAdapterPersistence { @@ -58,8 +60,7 @@ public class SwissTimingAdapterPersistenceImpl implements SwissTimingAdapterPers String hostname = (String) object.get(FieldNames.ST_CONFIG_HOSTNAME.name()); Integer port = (Integer) object.get(FieldNames.ST_CONFIG_PORT.name()); String updateURL = (String) object.get(FieldNames.ST_CONFIG_UPDATE_URL.name()); - String updateUsername = (String) object.get(FieldNames.ST_CONFIG_UPDATE_USERNAME.name()); - String updatePassword = (String) object.get(FieldNames.ST_CONFIG_UPDATE_PASSWORD.name()); + String apiToken = (String) object.get(FieldNames.ST_CONFIG_API_TOKEN.name()); String creatorName = object.getString(FieldNames.ST_CONFIG_CREATOR_NAME.name()); // migration code @@ -69,14 +70,12 @@ public class SwissTimingAdapterPersistenceImpl implements SwissTimingAdapterPers creatorName = "admin"; } final SwissTimingConfiguration loadedSwissTimingConfiguration = swissTimingFactory.createSwissTimingConfiguration(name, jsonURL, hostname, port, updateURL, - updateUsername, updatePassword, creatorName); - + apiToken, creatorName); if (needsUpdate) { // recreating the config on the DB because the composite key changed deleteSwissTimingConfiguration(null, jsonURL); createSwissTimingConfiguration(loadedSwissTimingConfiguration); } - return loadedSwissTimingConfiguration; } @@ -131,9 +130,8 @@ public class SwissTimingAdapterPersistenceImpl implements SwissTimingAdapterPers result.put(FieldNames.ST_CONFIG_HOSTNAME.name(), swissTimingConfiguration.getHostname()); result.put(FieldNames.ST_CONFIG_PORT.name(), swissTimingConfiguration.getPort()); result.put(FieldNames.ST_CONFIG_UPDATE_URL.name(), swissTimingConfiguration.getUpdateURL()); - result.put(FieldNames.ST_CONFIG_UPDATE_USERNAME.name(), swissTimingConfiguration.getUpdateUsername()); - result.put(FieldNames.ST_CONFIG_UPDATE_PASSWORD.name(), swissTimingConfiguration.getUpdatePassword()); result.put(FieldNames.ST_CONFIG_CREATOR_NAME.name(), swissTimingConfiguration.getCreatorName()); + result.put(FieldNames.ST_CONFIG_API_TOKEN.name(), swissTimingConfiguration.getApiToken()); return result; } @@ -181,12 +179,27 @@ public class SwissTimingAdapterPersistenceImpl implements SwissTimingAdapterPers } @Override - public void updateSwissTimingConfiguration(SwissTimingConfiguration config) { + public void updateSwissTimingConfiguration(SwissTimingConfiguration config, boolean isApiTokenAvailable) { MongoCollection stConfigCollection = database .getCollection(CollectionNames.SWISSTIMING_CONFIGURATIONS.name()); - Document result = storeSwissTimingConfiguration(config); - Document updateQuery = new Document(FieldNames.ST_CONFIG_JSON_URL.name(), config.getJsonURL()); - updateQuery.put(FieldNames.ST_CONFIG_CREATOR_NAME.name(), config.getCreatorName()); + final SwissTimingConfiguration configToStore; + if (isApiTokenAvailable && !Util.hasLength(config.getApiToken())) { + final String oldApiToken = Util.first(Util.map(Util.filter(getSwissTimingConfigurations(), c->c.getJsonURL().equals(config.getJsonURL())), c->c.getApiToken())); + // need to obtain the old API token from the DB first: + configToStore = new SwissTimingConfigurationImpl( + config.getName(), + config.getJsonURL(), + config.getHostname(), + config.getPort(), + config.getUpdateURL(), + oldApiToken, + config.getCreatorName()); + } else { + configToStore = config; + } + Document result = storeSwissTimingConfiguration(configToStore); + Document updateQuery = new Document(FieldNames.ST_CONFIG_JSON_URL.name(), configToStore.getJsonURL()); + updateQuery.put(FieldNames.ST_CONFIG_CREATOR_NAME.name(), configToStore.getCreatorName()); stConfigCollection.withWriteConcern(WriteConcern.ACKNOWLEDGED).replaceOne(updateQuery, result, new ReplaceOptions().upsert(true)); } diff --git a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingConnectivityParamsHandler.java b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingConnectivityParamsHandler.java index d84e2b26b1e..ca4de81702f 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingConnectivityParamsHandler.java +++ b/java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingConnectivityParamsHandler.java @@ -59,8 +59,7 @@ public class SwissTimingConnectivityParamsHandler extends AbstractRaceTrackingCo private static final String BOAT_CLASS_NAME = "boatClassName"; private static final String HOSTNAME = "hostname"; private static final String UPDATE_URL = "updateURL"; - private static final String UPDATE_USERNAME = "updateUsername"; - private static final String UPDATE_PASSWORD = "updatePassword"; + private static final String API_TOKEN = "apiToken"; private static final String EVENT_NAME = "eventName"; private static final String MANAGE2SAIL_EVENT_URL = "manage2SailEventUrl"; private final RaceLogStore raceLogStore; @@ -90,8 +89,7 @@ public class SwissTimingConnectivityParamsHandler extends AbstractRaceTrackingCo result.put(DELAY_TO_LIVE_IN_MILLIS, stParams.getDelayToLiveInMillis()); result.put(USE_INTERNAL_MARK_PASSING_ALGORITHM, stParams.isUseInternalMarkPassingAlgorithm()); result.put(UPDATE_URL, stParams.getUpdateURL()); - result.put(UPDATE_USERNAME, stParams.getUpdateUsername()); - result.put(UPDATE_PASSWORD, stParams.getUpdatePassword()); + result.put(API_TOKEN, stParams.getApiToken()); result.put(EVENT_NAME, stParams.getEventName()); result.put(MANAGE2SAIL_EVENT_URL, stParams.getManage2SailEventUrl()); addWindTrackingParameters(stParams, result); @@ -193,8 +191,7 @@ public class SwissTimingConnectivityParamsHandler extends AbstractRaceTrackingCo swissTimingFactory, domainFactory, raceLogStore, regattaLogStore, (boolean) map.get(USE_INTERNAL_MARK_PASSING_ALGORITHM), isTrackWind(map), isCorrectWindDirectionByMagneticDeclination(map), (String) map.get(UPDATE_URL), - (String) map.get(UPDATE_USERNAME), - (String) map.get(UPDATE_PASSWORD), + (String) map.get(API_TOKEN), (String) map.get(EVENT_NAME), (String) map.get(MANAGE2SAIL_EVENT_URL)); } @@ -221,13 +218,14 @@ public class SwissTimingConnectivityParamsHandler extends AbstractRaceTrackingCo stParams.getDelayToLiveInMillis(), swissTimingFactory, domainFactory, raceLogStore, regattaLogStore, stParams.isUseInternalMarkPassingAlgorithm(), stParams.isTrackWind(), stParams.isCorrectWindDirectionByMagneticDeclination(), stParams.getUpdateURL(), - stParams.getUpdateUsername(), stParams.getUpdatePassword(), stParams.getEventName(), stParams.getManage2SailEventUrl()); + stParams.getApiToken(), stParams.getEventName(), stParams.getManage2SailEventUrl()); final String creatorName = SessionUtils.getPrincipal().toString(); if (result.getManage2SailEventUrl() != null) { // legacy records won't have this URL stored in their connectivity params final SwissTimingConfiguration swissTimingConfiguration = SwissTimingFactory.INSTANCE .createSwissTimingConfiguration(result.getEventName(), result.getManage2SailEventUrl(), result.getHostname(), result.getPort(), result.getUpdateURL(), - result.getUpdateUsername(), result.getUpdatePassword(), creatorName); - SwissTimingAdapterPersistence.INSTANCE.updateSwissTimingConfiguration(swissTimingConfiguration); + result.getApiToken(), creatorName); + SwissTimingAdapterPersistence.INSTANCE.updateSwissTimingConfiguration(swissTimingConfiguration, + /* isApiTokenAvailable true because we just loaded the configuration from somewhere */ true); securityService.setDefaultOwnershipIfNotSet(swissTimingConfiguration.getIdentifier()); } return result; diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java index e35273c8f77..96def1a4028 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/DomainFactory.java @@ -75,7 +75,9 @@ public interface DomainFactory { RaceTrackingConnectivityParameters createTrackingConnectivityParameters(String hostname, int port, String raceID, String raceName, String raceDescription, BoatClass boatClass, StartList startList, long delayToLiveInMillis, SwissTimingFactory swissTimingFactory, DomainFactory domainFactory, - RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, boolean useInternalMarkPassingAlgorithm, boolean trackWind, boolean correctWindDirectionByMagneticDeclination, String updateURL, String updateUsername, String updatePassword, String eventName, String manage2SailEventUrl); + RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, boolean useInternalMarkPassingAlgorithm, boolean trackWind, + boolean correctWindDirectionByMagneticDeclination, String updateURL, String apiToken, String eventName, + String manage2SailEventUrl); ControlPoint getOrCreateControlPoint(String description, Iterable deviceIds, MarkType markType, String shortNameOfGate); @@ -88,7 +90,7 @@ public interface DomainFactory { * Adds update handlers that forward events about a race, such as start time changes, course changes * or postponents, to an update URL using specific REST requests. */ - void addUpdateHandlers(String updateURL, String username, String password, Serializable eventId, + void addUpdateHandlers(String updateURL, String tracTracApiToken, Serializable eventId, RaceDefinition raceDefinition, DynamicTrackedRace trackedRace) throws URISyntaxException; Map createCompetitorsAndBoats(StartList startList, String raceId, BoatClass boatClass, RaceTrackingHandler raceTrackHandler); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingAdapter.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingAdapter.java index 75fb24648d3..8c8b1c872d3 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingAdapter.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingAdapter.java @@ -34,8 +34,8 @@ public interface SwissTimingAdapter { String raceName, String raceDescription, BoatClass boatClass, String hostname, int port, StartList startList, RaceLogStore logStore, RegattaLogStore regattaLogStore, long timeoutInMilliseconds, boolean useInternalMarkPassingAlgorithm, boolean trackWind, - boolean correctWindDirectionByMagneticDeclination, String updateURL, String updateUsername, - String updatePassword, String eventName, String manage2SailEventUrl) + boolean correctWindDirectionByMagneticDeclination, String updateURL, String apiToken, + String eventName, String manage2SailEventUrl) throws InterruptedException, UnknownHostException, IOException, ParseException, Exception; StartList readStartListForRace(String raceId, RegattaResults regattaResults); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingConfiguration.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingConfiguration.java index 1e3b91c2f6e..9a077473e8e 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingConfiguration.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingConfiguration.java @@ -25,9 +25,7 @@ public interface SwissTimingConfiguration extends WithQualifiedObjectIdentifier String getUpdateURL(); - String getUpdateUsername(); - - String getUpdatePassword(); + String getApiToken(); @Override default QualifiedObjectIdentifier getIdentifier() { diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java index 8ea95ac4491..156d1b05047 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/SwissTimingFactory.java @@ -59,7 +59,7 @@ public interface SwissTimingFactory { SailMasterTransceiver createSailMasterTransceiver(); SwissTimingConfiguration createSwissTimingConfiguration(String name, String jsonURL, String hostname, Integer port, - String updateURL, String updateUsername, String updatePassword, String creatorName); + String updateURL, String apiToken, String creatorName); SwissTimingRaceTracker createRaceTracker(RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, WindStore windStore, DomainFactory domainFactory, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogAndTrackedRaceResolver raceLogResolver, SwissTimingTrackingConnectivityParameters connectivityParams, diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java index c3ec998018c..ba33fbecc11 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/DomainFactoryImpl.java @@ -414,26 +414,26 @@ public class DomainFactoryImpl implements DomainFactory { long delayToLiveInMillis, SwissTimingFactory swissTimingFactory, DomainFactory domainFactory, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, boolean useInternalMarkPassingAlgorithm, boolean trackWind, boolean correctWindDirectionByMagneticDeclination, String updateURL, - String updateUsername, String updatePassword, String eventName, String manage2SailEventUrl) { + String apiToken, String eventName, String manage2SailEventUrl) { return new SwissTimingTrackingConnectivityParameters(hostname, port, raceID, raceName, raceDescription, boatClass, startList, delayToLiveInMillis, swissTimingFactory, domainFactory, raceLogStore, regattaLogStore, useInternalMarkPassingAlgorithm, trackWind, correctWindDirectionByMagneticDeclination, - updateURL, updateUsername, updatePassword, eventName, manage2SailEventUrl); + updateURL, apiToken, eventName, manage2SailEventUrl); } @Override - public void addUpdateHandlers(String updateURL, String username, String password, Serializable eventId, + public void addUpdateHandlers(String updateURL, String apiToken, Serializable eventId, RaceDefinition raceDefinition, DynamicTrackedRace trackedRace) throws URISyntaxException { final URI updateURI = updateURL == null ? null : new URI(updateURL); CourseDesignUpdateHandler courseDesignHandler = new CourseDesignUpdateHandler( - updateURI, username, password, eventId, raceDefinition.getId()); + updateURI, apiToken, eventId, raceDefinition.getId()); StartTimeUpdateHandler startTimeHandler = new StartTimeUpdateHandler( - updateURI, username, password, eventId, + updateURI, apiToken, eventId, raceDefinition.getId(), trackedRace.getTrackedRegatta().getRegatta()); RaceAbortedHandler raceAbortedHandler = new RaceAbortedHandler( - updateURI, username, password, eventId, + updateURI, apiToken, eventId, raceDefinition.getId()); - final FinishTimeUpdateHandler finishTimeUpdateHandler = new FinishTimeUpdateHandler(updateURI, username, password, eventId, + final FinishTimeUpdateHandler finishTimeUpdateHandler = new FinishTimeUpdateHandler(updateURI, apiToken, eventId, raceDefinition.getId(), trackedRace.getTrackedRegatta().getRegatta()); baseDomainFactory.addUpdateHandlers(trackedRace, courseDesignHandler, startTimeHandler, raceAbortedHandler, finishTimeUpdateHandler); diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingAdapterImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingAdapterImpl.java index 3f68be3e922..5ed088a92a7 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingAdapterImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingAdapterImpl.java @@ -64,13 +64,13 @@ public class SwissTimingAdapterImpl implements SwissTimingAdapter { String raceName, String raceDescription, BoatClass boatClass, String hostname, int port, StartList startList, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, long timeoutInMilliseconds, boolean useInternalMarkPassingAlgorithm, boolean trackWind, boolean correctWindDirectionByMagneticDeclination, - String updateURL, String updateUsername, String updatePassword, String eventName, String manage2SailEventUrl) throws Exception { + String updateURL, String apiToken, String eventName, String manage2SailEventUrl) throws Exception { return trackerManager.addRace(regattaToAddTo, swissTimingDomainFactory.createTrackingConnectivityParameters(hostname, port, raceID, raceName, raceDescription, boatClass, startList, DEFAULT_SWISSTIMING_LIVE_DELAY_IN_MILLISECONDS, swissTimingFactory, swissTimingDomainFactory, raceLogStore, regattaLogStore, useInternalMarkPassingAlgorithm, trackWind, correctWindDirectionByMagneticDeclination, - updateURL, updateUsername, updatePassword, eventName, manage2SailEventUrl), + updateURL, apiToken, eventName, manage2SailEventUrl), timeoutInMilliseconds); } diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingConfigurationImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingConfigurationImpl.java index 0d293e1ddbc..7df2d5398fa 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingConfigurationImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingConfigurationImpl.java @@ -9,20 +9,18 @@ public class SwissTimingConfigurationImpl implements SwissTimingConfiguration { private final String hostname; private final Integer port; private final String updateURL; - private final String updateUsername; - private final String updatePassword; + private final String apiToken; private String creatorName; public SwissTimingConfigurationImpl(String name, String jsonURL, String hostname, Integer port, String updateURL, - String updateUsername, String updatePassword, String creatorName) { + String apiToken, String creatorName) { super(); this.name = name; this.jsonURL = jsonURL; this.hostname = hostname; this.port = port; this.updateURL = updateURL; - this.updateUsername = updateUsername; - this.updatePassword = updatePassword; + this.apiToken = apiToken; this.creatorName = creatorName; } @@ -55,11 +53,7 @@ public class SwissTimingConfigurationImpl implements SwissTimingConfiguration { return updateURL; } - public String getUpdateUsername() { - return updateUsername; - } - - public String getUpdatePassword() { - return updatePassword; + public String getApiToken() { + return apiToken; } } diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java index 4aef29f02cd..609e2c550da 100755 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingFactoryImpl.java @@ -91,9 +91,9 @@ public class SwissTimingFactoryImpl implements SwissTimingFactory { @Override public SwissTimingConfiguration createSwissTimingConfiguration(String name, String jsonURL, String hostname, - Integer port, String updateURL, String updateUsername, String updatePassword, String creatorName) { - return new SwissTimingConfigurationImpl(name, jsonURL, hostname, port, updateURL, updateUsername, - updatePassword, creatorName); + Integer port, String updateURL, String apiToken, String creatorName) { + return new SwissTimingConfigurationImpl(name, jsonURL, hostname, port, updateURL, apiToken, + creatorName); } @Override diff --git a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java index e28e25190f2..b7fe98cb301 100644 --- a/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.swisstimingadapter/src/com/sap/sailing/domain/swisstimingadapter/impl/SwissTimingRaceTrackerImpl.java @@ -130,9 +130,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl(); this.useInternalMarkPassingAlgorithm = connectivityParams.isUseInternalMarkPassingAlgorithm(); this.updateURL = connectivityParams.getUpdateURL(); - this.updateUsername = connectivityParams.getUpdateUsername(); - this.updatePassword = connectivityParams.getUpdatePassword(); + this.apiToken = connectivityParams.getApiToken(); if (connectivityParams.getStartList() != null) { createRaceDefinition(course); } @@ -573,7 +571,7 @@ public class SwissTimingRaceTrackerImpl extends AbstractRaceTrackerImpl races = jsonService.getRaceRecords(); assertTrue(races.size()>=28); @@ -91,7 +91,7 @@ public class ParseTracTracJSONServiceOutputTest { @Test public void testWeymouthURIsOnline() throws MalformedURLException, IOException, java.text.ParseException, ParseException, URISyntaxException { JSONService jsonService = DomainFactory.INSTANCE.parseJSONURLWithRaceRecords(new URL( - "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110505_SailingTea/jsonservice.php"), true); + "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110505_SailingTea/jsonservice.php"), true, AbstractTracTracLiveTest.getTracTracApiToken()); List races = jsonService.getRaceRecords(); assertFalse(races.isEmpty()); for (RaceRecord race : races) { @@ -115,7 +115,7 @@ public class ParseTracTracJSONServiceOutputTest { @Test public void testHamiltonOnline() throws MalformedURLException, IOException, java.text.ParseException, ParseException, URISyntaxException { JSONService jsonService = DomainFactory.INSTANCE.parseJSONURLWithRaceRecords(new URL( - "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110308_SAPWorldCh/jsonservice.php?humba=trala"), true); + "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110308_SAPWorldCh/jsonservice.php?humba=trala"), true, AbstractTracTracLiveTest.getTracTracApiToken()); assertEquals("SAP 2011 505 World Championship", jsonService.getEventName()); List races = jsonService.getRaceRecords(); assertEquals(14, races.size()); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java index 720b28c8d6c..7a82703685a 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveMarkPassingDataTest.java @@ -120,8 +120,8 @@ public class ReceiveMarkPassingDataTest extends AbstractTracTracLiveTest { public void addRaceDefinition(RaceDefinition race, DynamicTrackedRace trackedRace) { } }, /* trackedRegattaRegistry */null, - mock(RaceLogAndTrackedRaceResolver.class), /* markPassingRaceFingerprintRegistry */ null, mock(LeaderboardGroupResolver.class), /* courseDesignUpdateURI */null, /* tracTracPassword */ - /* tracTracUsername */null, null, getEventSubscriber(), getRaceSubscriber(), /*ignoreTracTracMarkPassings*/ false, + mock(RaceLogAndTrackedRaceResolver.class), /* markPassingRaceFingerprintRegistry */ null, mock(LeaderboardGroupResolver.class), /* courseDesignUpdateURI */null, + /* tracTracApiToken */null, getEventSubscriber(), getRaceSubscriber(), /*ignoreTracTracMarkPassings*/ false, RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, new DefaultRaceTrackingHandler(), /* raceAndCompetitorStatusWithRaceLogReconciler */ null, ReceiverType.RACECOURSE, ReceiverType.MARKPOSITIONS, ReceiverType.RACESTARTFINISH, ReceiverType.RAWPOSITIONS)) { receivers.add(r); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java index eb3267ce644..86350ae4033 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ReceiveTrackingDataTest.java @@ -90,7 +90,7 @@ public class ReceiveTrackingDataTest extends AbstractTracTracLiveTest { } }, /* trackedRegattaRegistry */null, mock(RaceLogAndTrackedRaceResolver.class), /* markPassingRaceFingerprintRegistry */ null, mock(LeaderboardGroupResolver.class), /* courseDesignUpdateURI */ - getTracTracRace(), null, /* tracTracUsername */null, /* tracTracPassword */null, getEventSubscriber(), getRaceSubscriber(), /*ignoreTracTracMarkPassings*/ false, + getTracTracRace(), null, /* tracTracApiToken */null, getEventSubscriber(), getRaceSubscriber(), /*ignoreTracTracMarkPassings*/ false, RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, new DefaultRaceTrackingHandler(), /* raceAndCompetitorStatusWithRaceLogReconciler */ null)) { receiver.subscribe(); getRaceSubscriber().start(); @@ -104,7 +104,7 @@ public class ReceiveTrackingDataTest extends AbstractTracTracLiveTest { public void addRaceDefinition(RaceDefinition race, DynamicTrackedRace trackedRace) { } }, /* trackedRegattaRegistry */null, mock(RaceLogAndTrackedRaceResolver.class), /* markPassingRaceFingerprintRegistry */ null, mock(LeaderboardGroupResolver.class), /* courseDesignUpdateURI */ - getTracTracRace(), null, /* tracTracUsername */null, /* tracTracPassword */null, getEventSubscriber(), getRaceSubscriber(), /*ignoreTracTracMarkPassings*/ false, + getTracTracRace(), null, /* tracTracApiToken */null, getEventSubscriber(), getRaceSubscriber(), /*ignoreTracTracMarkPassings*/ false, RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, new DefaultRaceTrackingHandler(), /* raceAndCompetitorStatusWithRaceLogReconciler */ null)); } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java index c7f489ec1dd..b3208a15bca 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/UnicodeCharactersInCompetitorNamesTest.java @@ -8,6 +8,7 @@ import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; +import java.net.URLConnection; import java.nio.charset.Charset; import java.util.concurrent.TimeUnit; @@ -69,7 +70,7 @@ public class UnicodeCharactersInCompetitorNamesTest { /* startOfTracking */null, /* endOfTracking */null, /* delayToLiveInMillis */0l, /* offsetToStartTimeOfSimulatedRace */ null, /* ignoreTracTracMarkPassings*/ false, EmptyRaceLogStore.INSTANCE, EmptyRegattaLogStore.INSTANCE, domainFactory, - "tracTest", "tracTest", "", "", /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ true, + AbstractTracTracLiveTest.getTracTracApiToken(), "", "", /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ true, /* preferReplayIfAvailable */ false, /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, /* useOfficialEventsToUpdateRaceLog */ false, /* liveURIFromConfiguration */ null, /* storedURIFromConfiguration */ null), RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, @@ -88,11 +89,11 @@ public class UnicodeCharactersInCompetitorNamesTest { + Charset.isSupported(Charset.defaultCharset().name())); String charsetname = System.getProperty("test.charset", "UTF-8"); System.out.println("Using "+charsetname+" for input stream reader"); - BufferedReader localBufferedReader = new BufferedReader( - new InputStreamReader( - new URL( - "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110609_KielerWoch/clientparams.php?event=event_20110609_KielerWoch&race=5b08a9ee-9933-11e0-85be-406186cbf87c") - .openStream(), charsetname)); + final URL url = new URL( + "http://" + TracTracConnectionConstants.HOST_NAME + "/events/event_20110609_KielerWoch/clientparams.php?event=event_20110609_KielerWoch&race=5b08a9ee-9933-11e0-85be-406186cbf87c"); + final URLConnection connection = url.openConnection(); + connection.setRequestProperty("Authorization", "Bearer "+AbstractTracTracLiveTest.getTracTracApiToken()); + BufferedReader localBufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), charsetname)); String line; while ((line=localBufferedReader.readLine()) != null) { System.out.println(line); diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/tractrac/JorgesTracTracParallelLoadingTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/tractrac/JorgesTracTracParallelLoadingTest.java index 5d433cf8df9..42659457bff 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/tractrac/JorgesTracTracParallelLoadingTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/tractrac/JorgesTracTracParallelLoadingTest.java @@ -24,6 +24,7 @@ import java.util.concurrent.TimeUnit; import org.junit.jupiter.api.Test; +import com.sap.sailing.domain.test.AbstractTracTracLiveTest; import com.sap.sse.common.Duration; import com.tractrac.model.lib.api.ModelLocator; import com.tractrac.model.lib.api.data.IControlPassing; @@ -67,11 +68,10 @@ public class JorgesTracTracParallelLoadingTest { threads.add(new Thread(()->{ try { // Download the parameters file and load the race - IRace race = ModelLocator.getEventFactory().createRace(new URI(paramsURIs.get(index)), (int) /* timeout in milliseconds */ Duration.ONE_MINUTE.asMillis()); - + IRace race = ModelLocator.getEventFactory().createRace(AbstractTracTracLiveTest.getTracTracApiToken(), new URI(paramsURIs.get(index)), (int) /* timeout in milliseconds */ Duration.ONE_MINUTE.asMillis()); // Create the subscriptions SubscriptionLogger subscriptionLogger = new SubscriptionLogger(race); - IRaceSubscriber raceSubscriber = SubscriptionLocator.getSusbcriberFactory().createRaceSubscriber(race); + IRaceSubscriber raceSubscriber = SubscriptionLocator.getSusbcriberFactory().createRaceSubscriber(AbstractTracTracLiveTest.getTracTracApiToken(), race); raceSubscriber.subscribePositions(subscriptionLogger); raceSubscriber.subscribePositionedItemPositions(subscriptionLogger); raceSubscriber.subscribeControlPassings(subscriptionLogger); diff --git a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/MongoObjectFactory.java b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/MongoObjectFactory.java index 43ebe083535..1f345be0531 100755 --- a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/MongoObjectFactory.java +++ b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/MongoObjectFactory.java @@ -27,7 +27,7 @@ public interface MongoObjectFactory { * When the {@link TracTracConfiguration#getTracTracPassword() password} is {@code null} then it * will not be updated but left unchanged. */ - void updateTracTracConfiguration(TracTracConfiguration tracTracConfiguration); + void updateTracTracConfiguration(TracTracConfiguration tracTracConfiguration, boolean isTracTracApiTokenAvailable); void deleteTracTracConfiguration(String creatorName, String jsonurl); diff --git a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/DomainObjectFactoryImpl.java index 7d747c257d4..bb0c866c045 100755 --- a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/DomainObjectFactoryImpl.java @@ -52,11 +52,9 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { private TracTracConfiguration loadTracTracConfiguration(Document object) { final Object courseDesignUpdateUriObject = object.get(FieldNames.TT_CONFIG_COURSE_DESIGN_UPDATE_URI.name()); - final Object tracTracUsernameObject = object.get(FieldNames.TT_CONFIG_TRACTRAC_USERNAME.name()); - final Object tracTracPasswordObject = object.get(FieldNames.TT_CONFIG_TRACTRAC_PASSWORD.name()); + final Object tracTracApiTokenObject = object.get(FieldNames.TT_CONFIG_TRACTRAC_API_TOKEN.name()); final String courseDesignUpdateUri = courseDesignUpdateUriObject == null ? "" : (String) courseDesignUpdateUriObject; - final String tracTracUsername = tracTracUsernameObject == null ? "" : (String) tracTracUsernameObject; - final String tracTracPassword = tracTracPasswordObject == null ? "" : (String) tracTracPasswordObject; + final String tracTracApiToken = tracTracApiTokenObject == null ? "" : (String) tracTracApiTokenObject; String creatorName = (String) object.get(FieldNames.TT_CONFIG_CREATOR_NAME.name()); final String jsonURL = (String) object.get(FieldNames.TT_CONFIG_JSON_URL.name()); final boolean needsUpdate = (creatorName == null); @@ -71,8 +69,7 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { (String) object.get(FieldNames.TT_CONFIG_LIVE_DATA_URI.name()), (String) object.get(FieldNames.TT_CONFIG_STORED_DATA_URI.name()), courseDesignUpdateUri, - tracTracUsername, - tracTracPassword); + tracTracApiToken); if (needsUpdate) { // recreating the config on the DB because the composite key changed new MongoObjectFactoryImpl(database).deleteTracTracConfiguration(null, jsonURL); diff --git a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/FieldNames.java b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/FieldNames.java index 4a275a65ab8..61e9cfef7b9 100755 --- a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/FieldNames.java +++ b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/FieldNames.java @@ -2,6 +2,17 @@ package com.sap.sailing.domain.tractracadapter.persistence.impl; public enum FieldNames { // TracTrac configuration parameters: - TT_CONFIG_CREATOR_NAME, TT_CONFIG_NAME, TT_CONFIG_JSON_URL, TT_CONFIG_LIVE_DATA_URI, TT_CONFIG_STORED_DATA_URI, TT_CONFIG_COURSE_DESIGN_UPDATE_URI, TT_CONFIG_TRACTRAC_USERNAME, TT_CONFIG_TRACTRAC_PASSWORD, - + TT_CONFIG_CREATOR_NAME, + TT_CONFIG_NAME, + TT_CONFIG_JSON_URL, + TT_CONFIG_LIVE_DATA_URI, + TT_CONFIG_STORED_DATA_URI, + TT_CONFIG_COURSE_DESIGN_UPDATE_URI, + @Deprecated + TT_CONFIG_TRACTRAC_USERNAME, + + @Deprecated + TT_CONFIG_TRACTRAC_PASSWORD, + + TT_CONFIG_TRACTRAC_API_TOKEN; } diff --git a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/MongoObjectFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/MongoObjectFactoryImpl.java index 0432a17c0cb..32711aec28b 100755 --- a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/MongoObjectFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/MongoObjectFactoryImpl.java @@ -14,6 +14,7 @@ import com.mongodb.client.model.UpdateOptions; import com.mongodb.client.model.Updates; import com.sap.sailing.domain.tractracadapter.TracTracConfiguration; import com.sap.sailing.domain.tractracadapter.persistence.MongoObjectFactory; +import com.sap.sse.common.Util; public class MongoObjectFactoryImpl implements MongoObjectFactory { private final MongoDatabase database; @@ -32,16 +33,16 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { @Override public void createTracTracConfiguration(TracTracConfiguration tracTracConfiguration) { MongoCollection ttConfigCollection = database.getCollection(CollectionNames.TRACTRAC_CONFIGURATIONS.name()); - final Bson result = getUpdateForTracTracConfiguration(tracTracConfiguration); + final Bson result = getUpdateForTracTracConfiguration(tracTracConfiguration, /* isTracTracApiTokenAvailable */ true); // first-time creation ttConfigCollection.withWriteConcern(WriteConcern.ACKNOWLEDGED).updateOne( getMongoQueryForConfiguration(tracTracConfiguration), result, new UpdateOptions().upsert(true)); } @Override - public void updateTracTracConfiguration(TracTracConfiguration tracTracConfiguration) { + public void updateTracTracConfiguration(TracTracConfiguration tracTracConfiguration, boolean isTracTracApiTokenAvailable) { MongoCollection ttConfigCollection = database .getCollection(CollectionNames.TRACTRAC_CONFIGURATIONS.name()); - final Bson result = getUpdateForTracTracConfiguration(tracTracConfiguration); + final Bson result = getUpdateForTracTracConfiguration(tracTracConfiguration, isTracTracApiTokenAvailable); // Object with given name is updated or created if it does not exist yet final Document updateQuery = getMongoQueryForConfiguration(tracTracConfiguration); updateQuery.put(FieldNames.TT_CONFIG_CREATOR_NAME.name(), tracTracConfiguration.getCreatorName()); @@ -59,17 +60,16 @@ public class MongoObjectFactoryImpl implements MongoObjectFactory { return updateQuery; } - private Bson getUpdateForTracTracConfiguration(TracTracConfiguration tracTracConfiguration) { + private Bson getUpdateForTracTracConfiguration(TracTracConfiguration tracTracConfiguration, boolean isTracTracApiTokenAvailable) { final List updates = new ArrayList<>(); updates.addAll(Arrays.asList(Updates.set(FieldNames.TT_CONFIG_CREATOR_NAME.name(), tracTracConfiguration.getCreatorName()), Updates.set(FieldNames.TT_CONFIG_NAME.name(), tracTracConfiguration.getName()), Updates.set(FieldNames.TT_CONFIG_JSON_URL.name(), tracTracConfiguration.getJSONURL()), Updates.set(FieldNames.TT_CONFIG_LIVE_DATA_URI.name(), tracTracConfiguration.getLiveDataURI()), Updates.set(FieldNames.TT_CONFIG_STORED_DATA_URI.name(), tracTracConfiguration.getStoredDataURI()), - Updates.set(FieldNames.TT_CONFIG_COURSE_DESIGN_UPDATE_URI.name(), tracTracConfiguration.getUpdateURI()), - Updates.set(FieldNames.TT_CONFIG_TRACTRAC_USERNAME.name(), tracTracConfiguration.getTracTracUsername()))); - if (tracTracConfiguration.getTracTracPassword() != null) { - updates.add(Updates.set(FieldNames.TT_CONFIG_TRACTRAC_PASSWORD.name(), tracTracConfiguration.getTracTracPassword())); + Updates.set(FieldNames.TT_CONFIG_COURSE_DESIGN_UPDATE_URI.name(), tracTracConfiguration.getUpdateURI()))); + if (isTracTracApiTokenAvailable && Util.hasLength(tracTracConfiguration.getTracTracApiToken())) { + updates.add(Updates.set(FieldNames.TT_CONFIG_TRACTRAC_API_TOKEN.name(), tracTracConfiguration.getTracTracApiToken())); } return Updates.combine(updates.toArray(new Bson[updates.size()])); } diff --git a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/TracTracConnectivityParamsHandler.java b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/TracTracConnectivityParamsHandler.java index f859b886ffc..96b65876533 100644 --- a/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/TracTracConnectivityParamsHandler.java +++ b/java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/TracTracConnectivityParamsHandler.java @@ -45,8 +45,7 @@ public class TracTracConnectivityParamsHandler extends AbstractRaceTrackingConne private static final String USE_INTERNAL_MARK_PASSING_ALGORITHM = "useInternalMarkPassingAlgorithm"; private static final String USE_OFFICIAL_EVENTS_TO_UPDATE_RACE_LOG = "useOfficialEventsToUpdateRaceLog"; - private static final String TRAC_TRAC_USERNAME = "tracTracUsername"; - private static final String TRAC_TRAC_PASSWORD = "tracTracPassword"; + private static final String TRAC_TRAC_API_TOKEN = "tracTracApiToken"; private static final String STORED_URI = "storedURI"; private static final String STORED_URI_FROM_CONFIGURATION = "storedURIFromConfiguration"; private static final String START_OF_TRACKING_MILLIS = "startOfTrackingMillis"; @@ -90,8 +89,7 @@ public class TracTracConnectivityParamsHandler extends AbstractRaceTrackingConne result.put(RACE_VISIBILITY, ttParams.getRaceVisibility()); result.put(START_OF_TRACKING_MILLIS, ttParams.getStartOfTracking()==null?null:ttParams.getStartOfTracking().asMillis()); result.put(STORED_URI, ttParams.getStoredURI()==null?null:ttParams.getStoredURI().toString()); - result.put(TRAC_TRAC_PASSWORD, ttParams.getTracTracPassword()); - result.put(TRAC_TRAC_USERNAME, ttParams.getTracTracUsername()); + result.put(TRAC_TRAC_API_TOKEN, ttParams.getTracTracApiToken()); result.put(USE_INTERNAL_MARK_PASSING_ALGORITHM, ttParams.isUseInternalMarkPassingAlgorithm()); result.put(USE_OFFICIAL_EVENTS_TO_UPDATE_RACE_LOG, ttParams.isUseOfficialEventsToUpdateRaceLog()); result.put(LIVE_URI_FROM_CONFIGURATION, ttParams.getLiveURIFromConfiguration()==null?null:ttParams.getLiveURIFromConfiguration().toString()); @@ -113,8 +111,7 @@ public class TracTracConnectivityParamsHandler extends AbstractRaceTrackingConne map.get(OFFSET_TO_START_TIME_OF_SIMULATED_RACE_MILLIS) == null ? null : new MillisecondsDurationImpl(((Number) map.get(OFFSET_TO_START_TIME_OF_SIMULATED_RACE_MILLIS)).longValue()), (Boolean) map.get(USE_INTERNAL_MARK_PASSING_ALGORITHM), raceLogStore, regattaLogStore, domainFactory, - map.get(TRAC_TRAC_USERNAME)==null?null:map.get(TRAC_TRAC_USERNAME).toString(), - map.get(TRAC_TRAC_PASSWORD)==null?null:map.get(TRAC_TRAC_PASSWORD).toString(), + map.get(TRAC_TRAC_API_TOKEN)==null?null:map.get(TRAC_TRAC_API_TOKEN).toString(), map.get(RACE_STATUS)==null?null:map.get(RACE_STATUS).toString(), map.get(RACE_VISIBILITY)==null?null:map.get(RACE_VISIBILITY).toString(), isTrackWind(map), isCorrectWindDirectionByMagneticDeclination(map), /* preferReplayIfAvailable */ true, @@ -143,7 +140,7 @@ public class TracTracConnectivityParamsHandler extends AbstractRaceTrackingConne ttParams.getUpdateURI(), ttParams.getStartOfTracking(), ttParams.getEndOfTracking(), ttParams.getDelayToLiveInMillis(), ttParams.getOffsetToStartTimeOfSimulatedRace(), ttParams.isUseInternalMarkPassingAlgorithm(), raceLogStore, regattaLogStore, domainFactory, - ttParams.getTracTracUsername(), ttParams.getTracTracPassword(), ttParams.getRaceStatus(), + ttParams.getTracTracApiToken(), ttParams.getRaceStatus(), ttParams.getRaceVisibility(), ttParams.isTrackWind(), ttParams.isCorrectWindDirectionByMagneticDeclination(), ttParams.isPreferReplayIfAvailable(), ttParams.getTimeoutInMillis(), ttParams.isUseOfficialEventsToUpdateRaceLog(), @@ -165,8 +162,8 @@ public class TracTracConnectivityParamsHandler extends AbstractRaceTrackingConne (params.getLiveURIFromConfiguration() == null ? null : params.getLiveURIFromConfiguration().toString()), /* stored URI */ params.isReplayRace(tractracRace) ? null // we mainly want to enable the user to list the event's races again in case they are removed; : (params.getStoredURIFromConfiguration() == null ? null : params.getStoredURIFromConfiguration().toString()), // live/stored stuff comes from the tracking params - params.getUpdateURI()==null?null:params.getUpdateURI().toString(), params.getTracTracUsername(), params.getTracTracPassword()); - tractracMongoObjectFactory.updateTracTracConfiguration(tracTracConfiguration); + params.getUpdateURI()==null?null:params.getUpdateURI().toString(), params.getTracTracApiToken()); + tractracMongoObjectFactory.updateTracTracConfiguration(tracTracConfiguration, /* isTracTracApiTokenAvailable */ true); securityService.setDefaultOwnershipIfNotSet(tracTracConfiguration.getIdentifier()); } } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java index 2adaa272fcb..4e85cca6c0d 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/DomainFactory.java @@ -189,8 +189,7 @@ public interface DomainFactory { Iterable getUpdateReceivers(DynamicTrackedRegatta trackedRegatta, long delayToLiveInMillis, Simulator simulator, WindStore windStore, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogAndTrackedRaceResolver raceLogResolver, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, LeaderboardGroupResolver leaderboardGroupResolver, - IRace tractracRace, URI courseDesignUpdateURI, String tracTracUsername, - String tracTracPassword, IEventSubscriber eventSubscriber, IRaceSubscriber raceSubscriber, boolean useInternalMarkPassingAlgorithm, + IRace tractracRace, URI courseDesignUpdateURI, String tracTracApiToken, IEventSubscriber eventSubscriber, IRaceSubscriber raceSubscriber, boolean useInternalMarkPassingAlgorithm, long timeoutInMilliseconds, RaceTrackingHandler raceTrackingHandler, RaceAndCompetitorStatusWithRaceLogReconciler raceAndCompetitorStatusWithRaceLogReconciler); /** @@ -220,7 +219,7 @@ public interface DomainFactory { Course course, Iterable sidelines, WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, URI courseDesignUpdateURI, UUID tracTracEventUuid, - String tracTracUsername, String tracTracPassword, boolean ignoreTracTracMarkPassings, + String tracTracApiToken, boolean ignoreTracTracMarkPassings, RaceLogAndTrackedRaceResolver raceLogResolver, Consumer runBeforeExposingRace, IRace tractracRace, RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry); @@ -242,10 +241,10 @@ public interface DomainFactory { Iterable getUpdateReceivers(DynamicTrackedRegatta trackedRegatta, IRace tractracRace, WindStore windStore, long delayToLiveInMillis, Simulator simulator, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogAndTrackedRaceResolver raceLogResolver, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, LeaderboardGroupResolver leaderboardGroupResolver, - URI courseDesignUpdateURI, String tracTracUsername, String tracTracPassword, IEventSubscriber eventSubscriber, IRaceSubscriber raceSubscriber, boolean ignoreTracTracMarkPassings, + URI courseDesignUpdateURI, String tracTracApiToken, IEventSubscriber eventSubscriber, IRaceSubscriber raceSubscriber, boolean ignoreTracTracMarkPassings, long timeoutInMilliseconds, RaceTrackingHandler raceTrackingHandler, RaceAndCompetitorStatusWithRaceLogReconciler raceAndCompetitorStatusWithRaceLogReconciler, ReceiverType... types); - JSONService parseJSONURLWithRaceRecords(URL jsonURL, boolean loadClientParams) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException; + JSONService parseJSONURLWithRaceRecords(URL jsonURL, boolean loadClientParams, String tracTracApiToken) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException; /** * Returns a {@link RaceDefinition} for the race if it already exists, null otherwise. @@ -261,8 +260,7 @@ public interface DomainFactory { void updateCourseWaypoints(Course courseToUpdate, Iterable> controlPoints) throws PatchFailedException; TracTracConfiguration createTracTracConfiguration(String creatorName, String name, String jsonURL, - String liveDataURI, String storedDataURI, String courseDesignUpdateURI, String tracTracUsername, - String tracTracPassword); + String liveDataURI, String storedDataURI, String courseDesignUpdateURI, String tracTracApiToken); /** * Fetch the race definition for race. If the race definition hasn't been created yet, the call blocks @@ -291,13 +289,11 @@ public interface DomainFactory { * {@code File}) then if this parameter is {@code true} the race will be loaded from the replay file * instead of the {@code storedURI}/{@code liveURI} specified. This is particularly useful for restoring * races if since the last connection the race was migrated to a replay file format. - * @param liveURIFromConfiguration TODO - * @param storedURIFromConfiguration TODO */ RaceTrackingConnectivityParameters createTrackingConnectivityParameters(URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean useInternalMarkPassingAlgorithm, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, - String tracTracUsername, String tracTracPassword, String raceStatus, String raceVisibility, boolean trackWind, boolean correctWindDirectionByMagneticDeclination, + String tracTracApiToken, String raceStatus, String raceVisibility, boolean trackWind, boolean correctWindDirectionByMagneticDeclination, boolean preferReplayIfAvailable, int timeoutInMillis, boolean useOfficialEventsToUpdateRaceLog, URI liveURIFromConfiguration, URI storedURIFromConfiguration) throws Exception; /** @@ -310,7 +306,7 @@ public interface DomainFactory { */ Serializable getRaceID(IRace tractracRace); - JSONService parseJSONURLForOneRaceRecord(URL jsonURL, String raceId, boolean loadClientParams) + JSONService parseJSONURLForOneRaceRecord(URL jsonURL, String raceId, boolean loadClientParams, String tracTracApiToken) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException; MetadataParser getMetadataParser(); @@ -324,8 +320,8 @@ public interface DomainFactory { * the {@link TrackedRace} which will notify certain changes to the race's state to TracTrac. This includes the course layout, * the start time and whether a race was aborted. */ - void addTracTracUpdateHandlers(URI tracTracUpdateURI, UUID tracTracEventUuid, String tracTracUsername, - String tracTracPassword, RaceDefinition raceDefinition, DynamicTrackedRace trackedRace, IRace tractracRace); + void addTracTracUpdateHandlers(URI tracTracUpdateURI, UUID tracTracEventUuid, String tracTracApiToken, + RaceDefinition raceDefinition, DynamicTrackedRace trackedRace, IRace tractracRace); /** * Since TracAPI 3.6.1 the TracAPI provides a course area name for {@link IRace} objects. Furthermore, the @@ -349,5 +345,5 @@ public interface DomainFactory { * the last {@link IEventSubscriber#stop()} call is forwarded. This is managed by an atomic counter that keeps track of the * start/stop invocations. */ - IEventSubscriber getOrCreateEventSubscriber(IEvent tractracEvent, URI liveURI, URI storedURI); + IEventSubscriber getOrCreateEventSubscriber(IEvent tractracEvent, URI liveURI, URI storedURI, String tracTracApiToken); } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/RaceRecord.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/RaceRecord.java index 9ae978a2b84..5d775c66a6a 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/RaceRecord.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/RaceRecord.java @@ -18,7 +18,9 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import com.sap.sse.InvalidDateException; +import com.sap.sse.common.Duration; import com.sap.sse.common.TimePoint; +import com.sap.sse.common.Util; import com.sap.sse.common.impl.MillisecondsTimePoint; import com.sap.sse.util.DateParser; import com.sap.sse.util.HttpUrlConnectionHelper; @@ -49,7 +51,7 @@ public class RaceRecord { public RaceRecord(URL jsonURL, String regattaName, String name, String replayURL, String paramURLAsString, String ID, String trackingstarttime, String trackingendtime, String racestarttime, String commaSeparatedBoatClassNames, String status, String visibility, boolean hasReplay, boolean loadLiveAndStoredURI, - String defaultUpdateURI) + String defaultUpdateURI, String tracTracApiToken) throws URISyntaxException, IOException { super(); this.regattaName = regattaName; @@ -109,7 +111,7 @@ public class RaceRecord { throw e; } if (loadLiveAndStoredURI) { - Map paramURLContents = parseParams(paramURL); + Map paramURLContents = parseParams(paramURL, tracTracApiToken); String liveURIAsString = paramURLContents.get(LIVE_URI_PROPERTY); liveURI = liveURIAsString == null ? null : new URI(liveURIAsString); String storedURIAsString = paramURLContents.get(STORED_URI_PROPERTY); @@ -142,10 +144,17 @@ public class RaceRecord { return technicalEventName; } - private Map parseParams(URL paramURL) throws IOException { + private Map parseParams(URL paramURL, String tracTracApiToken) throws IOException { Map result = new HashMap(); Pattern pattern = Pattern.compile("^([^:]*):(.*)$"); - final URLConnection connection = HttpUrlConnectionHelper.redirectConnection(paramURL); + final URLConnection connection = HttpUrlConnectionHelper.redirectConnection(paramURL, + /* timeout */ Duration.ONE_MINUTE, + /* pre-connection modifier adds authorization header: */ + c -> { + if (Util.hasLength(tracTracApiToken)) { + c.setRequestProperty("Authorization", "Bearer "+tracTracApiToken); + } + }); final Charset charset = HttpUrlConnectionHelper.getCharsetFromConnectionOrDefault(connection, "UTF-8"); BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream(), charset)); String line; diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/TracTracAdapter.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/TracTracAdapter.java index 4d5be526358..21e9f0fc765 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/TracTracAdapter.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/TracTracAdapter.java @@ -55,9 +55,9 @@ public interface TracTracAdapter { */ RaceHandle addTracTracRace(TrackerManager trackerManager, URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, - long timeoutInMilliseconds, String tracTracUsername, String tracTracPassword, String raceStatus, - String raceVisibility, boolean trackWind, boolean correctWindDirectionByMagneticDeclination, int timeoutInMillis, - boolean useOfficialEventsToUpdateRaceLog, RaceTrackingHandler raceTrackingHandler) + long timeoutInMilliseconds, String tracTracApiToken, String raceStatus, String raceVisibility, + boolean trackWind, boolean correctWindDirectionByMagneticDeclination, int timeoutInMillis, boolean useOfficialEventsToUpdateRaceLog, + RaceTrackingHandler raceTrackingHandler) throws MalformedURLException, FileNotFoundException, URISyntaxException, Exception; /** @@ -82,10 +82,10 @@ public interface TracTracAdapter { URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint trackingStartTime, TimePoint trackingEndTime, RaceLogStore raceLogStore, RegattaLogStore regattaLogStore, long timeoutForReceivingRaceDefinitionInMilliseconds, Duration offsetToStartTimeOfSimulatedRace, - boolean useInternalMarkPassingAlgorithm, String tracTracUsername, String tracTracPassword, - String raceStatus, String raceVisibility, boolean trackWind, - boolean correctWindDirectionByMagneticDeclination, boolean useOfficialEventsToUpdateRaceLog, - URI liveURIFromConfiguration, URI storedURIFromConfiguration) + boolean useInternalMarkPassingAlgorithm, String tracTracApiToken, String raceStatus, + String raceVisibility, boolean trackWind, boolean correctWindDirectionByMagneticDeclination, + boolean useOfficialEventsToUpdateRaceLog, URI liveURIFromConfiguration, + URI storedURIFromConfiguration) throws MalformedURLException, FileNotFoundException, URISyntaxException, Exception; /** @@ -93,21 +93,20 @@ public interface TracTracAdapter { * {@link #addTracTracRace(URL, URI, URI, WindStore, long)} calls to individually start tracking races of this * event, rather than tracking all races in the event which is hardly ever useful. The returned pair's * first component is the event name. - * * @param loadClientParams * shall the properties from the clientparams.php file such as liveURI and storedURI already be loaded? * Generally, this is not necessary as the * {@link #addTracTracRace(TrackerManager, RegattaIdentifier, URL, URI, URI, URI, TimePoint, TimePoint, RaceLogStore, WindStore, long, boolean, String, String)} * and {@link #addTracTracRace(TrackerManager, URL, URI, URI, URI, RaceLogStore, WindStore, long, String, String)} will * fetch the JSON and clientparams.php documents to work with up-to-date data. + * @param tracTracApiToken TODO */ - Util.Pair> getTracTracRaceRecords(URL jsonURL, boolean loadClientParams) throws IOException, + Util.Pair> getTracTracRaceRecords(URL jsonURL, boolean loadClientParams, String tracTracApiToken) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException; - RaceRecord getSingleTracTracRaceRecord(URL jsonURL, String raceId, boolean loadClientParams) throws Exception; + RaceRecord getSingleTracTracRaceRecord(URL jsonURL, String raceId, boolean loadClientParams, String tracTracApiToken) throws Exception; TracTracConfiguration createTracTracConfiguration(String creatorName, String name, String jsonURL, - String liveDataURI, - String storedDataURI, String courseDesignUpdateURI, String tracTracUsername, String tracTracPassword); + String liveDataURI, String storedDataURI, String courseDesignUpdateURI, String tracTracApiToken); } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/TracTracConfiguration.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/TracTracConfiguration.java index 9c948b409a3..804703e9556 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/TracTracConfiguration.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/TracTracConfiguration.java @@ -28,16 +28,9 @@ public interface TracTracConfiguration extends WithQualifiedObjectIdentifier { String getUpdateURI(); /** - * holds the Trac Trac username used to send course updates to TracTrac - * @return the TracTrac username + * holds the Trac Trac API token authenticating a used, used to send course updates to TracTrac */ - String getTracTracUsername(); - - /** - * holds the Trac Trac password used to send course updates to TracTrac - * @return the TracTrac password - */ - String getTracTracPassword(); + String getTracTracApiToken(); String getCreatorName(); diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java index fb0179fffe6..2130db65b8d 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/DomainFactoryImpl.java @@ -537,8 +537,7 @@ public class DomainFactoryImpl implements DomainFactory { public Iterable getUpdateReceivers(DynamicTrackedRegatta trackedRegatta, IRace tractracRace, WindStore windStore, long delayToLiveInMillis, Simulator simulator, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogAndTrackedRaceResolver raceLogResolver, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, - LeaderboardGroupResolver leaderboardGroupResolver, URI updateURI, String tracTracUsername, - String tracTracPassword, IEventSubscriber eventSubscriber, IRaceSubscriber raceSubscriber, + LeaderboardGroupResolver leaderboardGroupResolver, URI updateURI, String tracTracApiToken, IEventSubscriber eventSubscriber, IRaceSubscriber raceSubscriber, boolean useInternalMarkPassingAlgorithm, long timeoutInMilliseconds, RaceTrackingHandler raceTrackingHandler, RaceAndCompetitorStatusWithRaceLogReconciler raceAndCompetitorStatusWithRaceLogReconciler, ReceiverType... types) { @@ -550,7 +549,7 @@ public class DomainFactoryImpl implements DomainFactory { result.add(new RaceCourseReceiver(this, trackedRegatta, tractracEvent, tractracRace, windStore, raceDefinitionSetToUpdate, delayToLiveInMillis, WindTrack.DEFAULT_MILLISECONDS_OVER_WHICH_TO_AVERAGE_WIND, simulator, updateURI, - tracTracUsername, tracTracPassword, eventSubscriber, raceSubscriber, + tracTracApiToken, eventSubscriber, raceSubscriber, useInternalMarkPassingAlgorithm, raceLogResolver, leaderboardGroupResolver, timeoutInMilliseconds, raceTrackingHandler, markPassingRaceFingerprintRegistry)); break; @@ -589,7 +588,7 @@ public class DomainFactoryImpl implements DomainFactory { long delayToLiveInMillis, Simulator simulator, WindStore windStore, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, TrackedRegattaRegistry trackedRegattaRegistry, RaceLogAndTrackedRaceResolver raceLogResolver, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry, LeaderboardGroupResolver leaderboardGroupResolver, IRace tractracRace, - URI updateURI, String tracTracUsername, String tracTracPassword, + URI updateURI, String tracTracApiToken, IEventSubscriber eventSubscriber, IRaceSubscriber raceSubscriber, boolean useInternalMarkPassingAlgorithm, long timeoutInMilliseconds, RaceTrackingHandler raceTrackingHandler, RaceAndCompetitorStatusWithRaceLogReconciler raceAndCompetitorStatusWithRaceLogReconciler) { @@ -601,7 +600,7 @@ public class DomainFactoryImpl implements DomainFactory { } return getUpdateReceivers(trackedRegatta, tractracRace, windStore, delayToLiveInMillis, simulator, raceDefinitionSetToUpdate, trackedRegattaRegistry, raceLogResolver, markPassingRaceFingerprintRegistry, leaderboardGroupResolver, - updateURI, tracTracUsername, tracTracPassword, eventSubscriber, + updateURI, tracTracApiToken, eventSubscriber, raceSubscriber, useInternalMarkPassingAlgorithm, timeoutInMilliseconds, raceTrackingHandler, raceAndCompetitorStatusWithRaceLogReconciler, receiverTypes.toArray(new ReceiverType[receiverTypes.size()])); } @@ -656,7 +655,7 @@ public class DomainFactoryImpl implements DomainFactory { String raceName, BoatClass boatClass, Map competitorsAndBoats, Course course, Iterable sidelines, WindStore windStore, long delayToLiveInMillis, long millisecondsOverWhichToAverageWind, DynamicRaceDefinitionSet raceDefinitionSetToUpdate, - URI tracTracUpdateURI, UUID tracTracEventUuid, String tracTracUsername, String tracTracPassword, + URI tracTracUpdateURI, UUID tracTracEventUuid, String tracTracApiToken, boolean ignoreTracTracMarkPassings, RaceLogAndTrackedRaceResolver raceLogResolver, Consumer runBeforeExposingRace, IRace tractracRace, RaceTrackingHandler raceTrackingHandler, MarkPassingRaceFingerprintRegistry markPassingRaceFingerprintRegistry) { @@ -696,7 +695,7 @@ public class DomainFactoryImpl implements DomainFactory { logger.fine("Running callback for tracked race creation for "+trackedRace.getRace()); runBeforeExposingRace.accept(trackedRace); } - addTracTracUpdateHandlers(tracTracUpdateURI, tracTracEventUuid, tracTracUsername, tracTracPassword, + addTracTracUpdateHandlers(tracTracUpdateURI, tracTracEventUuid, tracTracApiToken, raceDefinition, trackedRace, tractracRace); raceCache.put(raceId, raceDefinition); // the following unblocks waiters in DomainFactory.getAndWaitForRaceDefinition(...) @@ -757,18 +756,18 @@ public class DomainFactoryImpl implements DomainFactory { } @Override - public void addTracTracUpdateHandlers(URI tracTracUpdateURI, UUID tracTracEventUuid, String tracTracUsername, - String tracTracPassword, RaceDefinition raceDefinition, DynamicTrackedRace trackedRace, IRace tractracRace) { + public void addTracTracUpdateHandlers(URI tracTracUpdateURI, UUID tracTracEventUuid, String tracTracApiToken, + RaceDefinition raceDefinition, DynamicTrackedRace trackedRace, IRace tractracRace) { final TracTracCourseDesignUpdateHandler courseDesignHandler = new TracTracCourseDesignUpdateHandler( - tracTracUpdateURI, tracTracUsername, tracTracPassword, tracTracEventUuid, + tracTracUpdateURI, tracTracApiToken, tracTracEventUuid, raceDefinition.getId(), tractracRace, this); final StartTimeUpdateHandler startTimeHandler = new StartTimeUpdateHandler( - tracTracUpdateURI, tracTracUsername, tracTracPassword, tracTracEventUuid, + tracTracUpdateURI, tracTracApiToken, tracTracEventUuid, raceDefinition.getId(), trackedRace.getTrackedRegatta().getRegatta()); final RaceAbortedHandler raceAbortedHandler = new RaceAbortedHandler( - tracTracUpdateURI, tracTracUsername, tracTracPassword, tracTracEventUuid, + tracTracUpdateURI, tracTracApiToken, tracTracEventUuid, raceDefinition.getId()); - final FinishTimeUpdateHandler finishTimeUpdateHandler = new FinishTimeUpdateHandler(tracTracUpdateURI, tracTracUsername, tracTracPassword, tracTracEventUuid, + final FinishTimeUpdateHandler finishTimeUpdateHandler = new FinishTimeUpdateHandler(tracTracUpdateURI, tracTracApiToken, tracTracEventUuid, raceDefinition.getId(), trackedRace.getTrackedRegatta().getRegatta()); baseDomainFactory.addUpdateHandlers(trackedRace, courseDesignHandler, startTimeHandler, raceAbortedHandler, finishTimeUpdateHandler); @@ -1049,43 +1048,43 @@ public class DomainFactoryImpl implements DomainFactory { } @Override - public JSONService parseJSONURLWithRaceRecords(URL jsonURL, boolean loadClientParams) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { - return new JSONServiceImpl(jsonURL, loadClientParams); + public JSONService parseJSONURLWithRaceRecords(URL jsonURL, boolean loadClientParams, String tracTracApiToken) + throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { + return new JSONServiceImpl(jsonURL, loadClientParams, tracTracApiToken); } @Override public TracTracConfiguration createTracTracConfiguration(String creatorName, String name, String jsonURL, - String liveDataURI, String storedDataURI, String courseDesignUpdateURI, String tracTracUsername, - String tracTracPassword) { + String liveDataURI, String storedDataURI, String courseDesignUpdateURI, String tracTracApiToken) { return new TracTracConfigurationImpl(creatorName, name, jsonURL, liveDataURI, storedDataURI, - courseDesignUpdateURI, tracTracUsername, tracTracPassword); + courseDesignUpdateURI, tracTracApiToken); } @Override public RaceTrackingConnectivityParameters createTrackingConnectivityParameters(URL paramURL, URI liveURI, URI storedURI, URI courseDesignUpdateURI, TimePoint startOfTracking, TimePoint endOfTracking, long delayToLiveInMillis, Duration offsetToStartTimeOfSimulatedRace, boolean useInternalMarkPassingAlgorithm, RaceLogStore raceLogStore, - RegattaLogStore regattaLogStore, String tracTracUsername, String tracTracPassword, String raceStatus, + RegattaLogStore regattaLogStore, String tracTracApiToken, String raceStatus, String raceVisibility, boolean trackWind, boolean correctWindDirectionByMagneticDeclination, boolean preferReplayIfAvailable, int timeoutInMillis, boolean useOfficialEventsToUpdateRaceLog, URI liveURIFromConfiguration, URI storedURIFromConfiguration) throws Exception { return new RaceTrackingConnectivityParametersImpl(paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, delayToLiveInMillis, offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, raceLogStore, - regattaLogStore, this, tracTracUsername, tracTracPassword, raceStatus, raceVisibility, trackWind, correctWindDirectionByMagneticDeclination, + regattaLogStore, this, tracTracApiToken, raceStatus, raceVisibility, trackWind, correctWindDirectionByMagneticDeclination, preferReplayIfAvailable, timeoutInMillis, useOfficialEventsToUpdateRaceLog, liveURIFromConfiguration, storedURIFromConfiguration); } @Override - public JSONService parseJSONURLForOneRaceRecord(URL jsonURL, String raceId, boolean loadClientParams) + public JSONService parseJSONURLForOneRaceRecord(URL jsonURL, String raceId, boolean loadClientParams, String tracTracApiToken) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { - return new JSONServiceImpl(jsonURL, raceId, loadClientParams); + return new JSONServiceImpl(jsonURL, raceId, loadClientParams, tracTracApiToken); } @Override - public IEventSubscriber getOrCreateEventSubscriber(IEvent tractracEvent, URI liveURI, URI storedURI) { + public IEventSubscriber getOrCreateEventSubscriber(IEvent tractracEvent, URI liveURI, URI storedURI, String tracTracApiToken) { return eventSubscriberCache.computeIfAbsent(new Triple<>(tractracEvent, liveURI, storedURI), key-> { try { - return new EventSubscriberWrapper(key.getA(), key.getB(), key.getC()); + return new EventSubscriberWrapper(key.getA(), key.getB(), key.getC(), tracTracApiToken); } catch (SubscriberInitializationException e) { throw new RuntimeException(e); } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/EventSubscriberWrapper.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/EventSubscriberWrapper.java index 88f041db0ac..1e03fc5e3c5 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/EventSubscriberWrapper.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/EventSubscriberWrapper.java @@ -29,18 +29,20 @@ public class EventSubscriberWrapper implements IEventSubscriber { private final IEvent tractracEvent; private final URI liveURI; private final URI storedURI; + private final String tracTracApiToken; private int startCounter; - public EventSubscriberWrapper(IEvent tractracEvent, URI liveURI, URI storedURI) throws SubscriberInitializationException { + public EventSubscriberWrapper(IEvent tractracEvent, URI liveURI, URI storedURI, String tracTracApiToken) throws SubscriberInitializationException { this.tractracEvent = tractracEvent; this.liveURI = liveURI; this.storedURI = storedURI; this.startCounter = 0; + this.tracTracApiToken = tracTracApiToken; this.delegate = createEventSubscriber(); } private IEventSubscriber createEventSubscriber() throws SubscriberInitializationException { - return SubscriptionLocator.getSusbcriberFactory().createEventSubscriber(tractracEvent, liveURI, storedURI); + return SubscriptionLocator.getSusbcriberFactory().createEventSubscriber(tracTracApiToken, tractracEvent, liveURI, storedURI); } @Override diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/JSONServiceImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/JSONServiceImpl.java index 66e35de748e..53adc83ea15 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/JSONServiceImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/JSONServiceImpl.java @@ -18,17 +18,18 @@ import org.json.simple.parser.JSONParser; import com.sap.sailing.domain.tractracadapter.JSONService; import com.sap.sailing.domain.tractracadapter.RaceRecord; +import com.sap.sse.common.Util; import com.sap.sse.util.HttpUrlConnectionHelper; public class JSONServiceImpl implements JSONService { private final String regattaName; private final List raceRecords; - public JSONServiceImpl(URL jsonURL, boolean loadLiveAndStoredURI) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { - this(jsonURL, /* race ID == null means load all race records */ null, loadLiveAndStoredURI); + public JSONServiceImpl(URL jsonURL, boolean loadLiveAndStoredURI, String tracTracApiToken) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { + this(jsonURL, /* race ID == null means load all race records */ null, loadLiveAndStoredURI, tracTracApiToken); } - private RaceRecord createRaceRecord(URL jsonURL, boolean loadLiveAndStoredURI, JSONObject jsonRaceEntry, String defaultUpdateURI) + private RaceRecord createRaceRecord(URL jsonURL, boolean loadLiveAndStoredURI, JSONObject jsonRaceEntry, String defaultUpdateURI, String tracTracApiToken) throws URISyntaxException, IOException { RaceRecord raceRecord = new RaceRecord(jsonURL, regattaName, (String) jsonRaceEntry.get("name"), (String) jsonRaceEntry.get("url_html"), @@ -41,7 +42,7 @@ public class JSONServiceImpl implements JSONService { (String) jsonRaceEntry.get("status"), (String) jsonRaceEntry.get("visibility"), Boolean.valueOf((Boolean) jsonRaceEntry.get("has_replay")), - /*loadLiveAndStoreURI*/ loadLiveAndStoredURI, defaultUpdateURI); + /*loadLiveAndStoreURI*/ loadLiveAndStoredURI, defaultUpdateURI, tracTracApiToken); return raceRecord; } @@ -50,8 +51,11 @@ public class JSONServiceImpl implements JSONService { * if {@code null}, add all races found to the {@link #raceRecords}; otherwise, add only the race whose * ID matches */ - public JSONServiceImpl(URL jsonURL, String raceEntryId, boolean loadLiveAndStoredURI) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { + public JSONServiceImpl(URL jsonURL, String raceEntryId, boolean loadLiveAndStoredURI, String tracTracApiToken) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { final URLConnection connection = jsonURL.openConnection(); + if (Util.hasLength(tracTracApiToken)) { + connection.setRequestProperty("Authorization", "Bearer "+tracTracApiToken); + } final Charset charset = HttpUrlConnectionHelper.getCharsetFromConnectionOrDefault(connection, "UTF-8"); JSONObject jsonObject = parseJSONObject(connection.getInputStream(), charset); raceRecords = new ArrayList(); @@ -60,7 +64,7 @@ public class JSONServiceImpl implements JSONService { for (Object raceEntry : (JSONArray) jsonObject.get("races")) { JSONObject jsonRaceEntry = (JSONObject) raceEntry; if (raceEntryId == null || jsonRaceEntry.get("id").equals(raceEntryId)) { - RaceRecord raceRecord = createRaceRecord(jsonURL, loadLiveAndStoredURI, jsonRaceEntry, defaultUpdateURI); + RaceRecord raceRecord = createRaceRecord(jsonURL, loadLiveAndStoredURI, jsonRaceEntry, defaultUpdateURI, tracTracApiToken); raceRecords.add(raceRecord); } } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java index 6f90fadb422..8ed700a269b 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/RaceCourseReceiver.java @@ -66,8 +66,7 @@ public class RaceCourseReceiver extends AbstractReceiverWithQueueupdateRaceTimes(tractracRace, tr), tractracRace, + getTracTracEvent().getId(), tracTracApiToken, useInternalMarkPassingAlgorithm, raceLogResolver, tr->updateRaceTimes(tractracRace, tr), tractracRace, raceTrackingHandler, markPassingRaceFingerprintRegistry); addAllMarksFromCourseArea(trackedRace); if (getSimulator() != null) { @@ -268,8 +266,8 @@ public class RaceCourseReceiver extends AbstractReceiverWithQueue> getTracTracRaceRecords(URL jsonURL, boolean loadClientParams) + public Util.Pair> getTracTracRaceRecords(URL jsonURL, boolean loadClientParams, String tracTracApiToken) throws IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { logger.info("Retrieving TracTrac race records from " + jsonURL); - JSONService jsonService = getTracTracDomainFactory().parseJSONURLWithRaceRecords(jsonURL, loadClientParams); + JSONService jsonService = getTracTracDomainFactory().parseJSONURLWithRaceRecords(jsonURL, loadClientParams, tracTracApiToken); logger.info("OK retrieving TracTrac race records from " + jsonURL); return new Util.Pair>(jsonService.getEventName(), jsonService.getRaceRecords()); } @Override - public RaceRecord getSingleTracTracRaceRecord(URL jsonURL, String raceId, boolean loadClientParams) + public RaceRecord getSingleTracTracRaceRecord(URL jsonURL, String raceId, boolean loadClientParams, String tracTracApiToken) throws Exception { - JSONService service = getTracTracDomainFactory().parseJSONURLForOneRaceRecord(jsonURL, raceId, loadClientParams); + JSONService service = getTracTracDomainFactory().parseJSONURLForOneRaceRecord(jsonURL, raceId, loadClientParams, tracTracApiToken); if (!service.getRaceRecords().isEmpty()) { return service.getRaceRecords().get(0); } @@ -101,11 +101,9 @@ public class TracTracAdapterImpl implements TracTracAdapter { @Override public TracTracConfiguration createTracTracConfiguration(String creatorName, String name, String jsonURL, - String liveDataURI, - String storedDataURI, String courseDesignUpdateURI, String tracTracUsername, String tracTracPassword) { + String liveDataURI, String storedDataURI, String courseDesignUpdateURI, String tracTracApiToken) { return getTracTracDomainFactory().createTracTracConfiguration(creatorName, name, jsonURL, liveDataURI, - storedDataURI, - courseDesignUpdateURI, tracTracUsername, tracTracPassword); + storedDataURI, courseDesignUpdateURI, tracTracApiToken); } } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracConfigurationImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracConfigurationImpl.java index fff0183eba1..704e61c82b5 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracConfigurationImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracConfigurationImpl.java @@ -9,21 +9,19 @@ public class TracTracConfigurationImpl implements TracTracConfiguration { private final String liveDataURI; private final String storedDataURI; private final String updateURI; - private final String tracTracUsername; - private final String tracTracPassword; + private final String tracTracApiToken; private final String creatorName; public TracTracConfigurationImpl(String creatorName, String name, String jsonURL, String liveDataURI, String storedDataURI, String courseDesignUpdateURI, - String tracTracUsername, String tracTracPassword) { + String tracTracApiToken) { this.creatorName = creatorName; this.name = name; this.jsonURL = jsonURL; this.liveDataURI = liveDataURI; this.storedDataURI = storedDataURI; this.updateURI = courseDesignUpdateURI; - this.tracTracUsername = tracTracUsername; - this.tracTracPassword = tracTracPassword; + this.tracTracApiToken = tracTracApiToken; } @Override @@ -61,13 +59,8 @@ public class TracTracConfigurationImpl implements TracTracConfiguration { } @Override - public String getTracTracUsername() { - return tracTracUsername; - } - - @Override - public String getTracTracPassword() { - return tracTracPassword; + public String getTracTracApiToken() { + return tracTracApiToken; } public String getCreatorName() { diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracCourseDesignUpdateHandler.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracCourseDesignUpdateHandler.java index 7618c7f1140..5e161580ec6 100644 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracCourseDesignUpdateHandler.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracCourseDesignUpdateHandler.java @@ -19,8 +19,8 @@ public class TracTracCourseDesignUpdateHandler extends CourseDesignUpdateHandler private final IRace tractracRace; private final DomainFactory domainFactory; - public TracTracCourseDesignUpdateHandler(URI updateURI, String tracTracUsername, String tracTracPassword, Serializable tracTracEventId, Serializable raceId, IRace tractracRace, DomainFactory domainFactory) { - super(updateURI, tracTracUsername, tracTracPassword, tracTracEventId, raceId); + public TracTracCourseDesignUpdateHandler(URI updateURI, String tracTracApiToken, Serializable tracTracEventId, Serializable raceId, IRace tractracRace, DomainFactory domainFactory) { + super(updateURI, tracTracApiToken, tracTracEventId, raceId); this.domainFactory = domainFactory; this.tractracRace = tractracRace; } diff --git a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java index ffddfeb9298..b7cf0048134 100755 --- a/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java +++ b/java/com.sap.sailing.domain.tractracadapter/src/com/sap/sailing/domain/tractracadapter/impl/TracTracRaceTrackerImpl.java @@ -313,8 +313,7 @@ public class TracTracRaceTrackerImpl extends AbstractRaceTrackerImpl(); for (Receiver receiver : domainFactory.getUpdateReceivers(getTrackedRegatta(), delayToLiveInMillis, simulator, windStore, this, trackedRegattaRegistry, raceLogResolver, markPassingRaceFingerprintRegistry, leaderboardGroupResolver, - tractracRace, tracTracUpdateURI, tracTracUsername, tracTracPassword, eventSubscriber, + tractracRace, tracTracUpdateURI, tracTracApiToken, eventSubscriber, raceSubscriber, useInternalMarkPassingAlgorithm, timeoutInMilliseconds, raceTrackingHandler, reconciler)) { receivers.add(receiver); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/CourseDesignUpdateHandler.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/CourseDesignUpdateHandler.java index 197b59187d8..7d0c5bb6305 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/CourseDesignUpdateHandler.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/CourseDesignUpdateHandler.java @@ -28,8 +28,8 @@ public class CourseDesignUpdateHandler extends UpdateHandler implements CourseDe private final static Logger logger = Logger.getLogger(CourseDesignUpdateHandler.class.getName()); private final JsonSerializer courseSerializer; - public CourseDesignUpdateHandler(URI updateURI, String username, String password, Serializable eventId, Serializable raceId) { - super(updateURI, ACTION, username, password, eventId, raceId); + public CourseDesignUpdateHandler(URI updateURI, String tracTracApiToken, Serializable eventId, Serializable raceId) { + super(updateURI, ACTION, tracTracApiToken, eventId, raceId); this.courseSerializer = new CourseJsonSerializer( new CourseBaseJsonSerializer( new WaypointJsonSerializer( diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/FinishTimeUpdateHandler.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/FinishTimeUpdateHandler.java index b6099015f1f..35b3ba494f8 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/FinishTimeUpdateHandler.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/FinishTimeUpdateHandler.java @@ -36,9 +36,9 @@ public class FinishTimeUpdateHandler extends UpdateHandler { */ private final Regatta regatta; - public FinishTimeUpdateHandler(URI updateURI, String username, String password, + public FinishTimeUpdateHandler(URI updateURI, String tracTracApiToken, Serializable eventId, Serializable raceId, Regatta regatta) { - super(updateURI, ACTION_STOP_TRACKING, username, password, eventId, raceId); + super(updateURI, ACTION_STOP_TRACKING, tracTracApiToken, eventId, raceId); this.regatta = regatta; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/RaceAbortedHandler.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/RaceAbortedHandler.java index 9f2bcaf220b..67c73dc2de1 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/RaceAbortedHandler.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/RaceAbortedHandler.java @@ -21,8 +21,8 @@ public class RaceAbortedHandler extends UpdateHandler implements RaceAbortedList private final static Logger logger = Logger.getLogger(RaceAbortedHandler.class.getName()); - public RaceAbortedHandler(URI updateURI, String username, String password, Serializable eventId, Serializable raceId) { - super(updateURI, ACTION, username, password, eventId, raceId); + public RaceAbortedHandler(URI updateURI, String tracTracApiToken, Serializable eventId, Serializable raceId) { + super(updateURI, ACTION, tracTracApiToken, eventId, raceId); } @Override diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/StartTimeResetHandler.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/StartTimeResetHandler.java index 68a325c6fe4..70d290872fa 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/StartTimeResetHandler.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/StartTimeResetHandler.java @@ -19,8 +19,8 @@ public class StartTimeResetHandler extends UpdateHandler implements StartTimeCha private final static Logger logger = Logger.getLogger(StartTimeResetHandler.class.getName()); - public StartTimeResetHandler(URI updateURI, String username, String password, Serializable eventId, Serializable raceId) { - super(updateURI, ACTION, username, password, eventId, raceId); + public StartTimeResetHandler(URI updateURI, String tracTracApiToken, Serializable eventId, Serializable raceId) { + super(updateURI, ACTION, tracTracApiToken, eventId, raceId); } @Override diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/StartTimeUpdateHandler.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/StartTimeUpdateHandler.java index fbbca951d2d..b4ca283547e 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/StartTimeUpdateHandler.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/StartTimeUpdateHandler.java @@ -46,10 +46,10 @@ public class StartTimeUpdateHandler extends UpdateHandler implements StartTimeCh private final RaceAbortedHandler raceAbortedHandler; - public StartTimeUpdateHandler(URI updateURI, String username, String password, + public StartTimeUpdateHandler(URI updateURI, String tracTracApiToken, Serializable tracTracEventId, Serializable raceId, Regatta regatta) { - super(updateURI, ACTION, username, password, tracTracEventId, raceId); - this.raceAbortedHandler = new RaceAbortedHandler(updateURI, username, password, tracTracEventId, raceId); + super(updateURI, ACTION, tracTracApiToken, tracTracEventId, raceId); + this.raceAbortedHandler = new RaceAbortedHandler(updateURI,tracTracApiToken, tracTracEventId, raceId); this.regatta = regatta; } @@ -67,7 +67,6 @@ public class StartTimeUpdateHandler extends UpdateHandler implements StartTimeCh HashMap additionalParameters = new HashMap(); additionalParameters.put(FIELD_RACE_START_TIME, String.valueOf(newStartTime.asMillis())); URL startTimeUpdateURL = buildUpdateURL(additionalParameters); - logger.info("Using " + eraseSecurityRelatedValuesFromURL(startTimeUpdateURL.toString()) + " for the start time update!"); HttpURLConnection connection = (HttpURLConnection) startTimeUpdateURL.openConnection(); try { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/UpdateHandler.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/UpdateHandler.java index e66bb304856..62b43f9c72f 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/UpdateHandler.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/UpdateHandler.java @@ -47,8 +47,7 @@ public class UpdateHandler { private JsonDeserializer updateDeserializer; private final URI baseURI; - private final String username; - private final String password; + private final String tracTracApiToken; private final Serializable eventId; private final Serializable raceId; private final String action; @@ -61,17 +60,16 @@ public class UpdateHandler { private final static String ContentTypeApplicationJson = "application/json"; private final static String EncodingUtf8 = "UTF-8"; private final static String ResponseCodeForFailure = "FAILURE"; - private final static String UpdateUrlTemplate = "%s%s?eventid=%s&raceid=%s&username=%s&password=%s"; + private final static String UpdateUrlTemplate = "%s%s?eventid=%s&raceid=%s"; - public UpdateHandler(URI updateURI, String action, String username, String password, Serializable eventId, Serializable raceId) { + public UpdateHandler(URI updateURI, String action, String tracTracApiToken, Serializable eventId, Serializable raceId) { this.baseURI = updateURI; this.action = action; - this.username = username; - this.password = password; + this.tracTracApiToken = tracTracApiToken; this.eventId = eventId; this.raceId = raceId; this.updateDeserializer = new UpdateResponseDeserializer(); - if (Util.hasLength(username)) { + if (Util.hasLength(tracTracApiToken)) { logger.info("Activating update handler "+this+" for race with ID "+raceId); this.active = true; } else { @@ -103,8 +101,6 @@ public class UpdateHandler { final List result = new ArrayList<>(); result.add(new BasicNameValuePair("eventid", eventId.toString())); result.add(new BasicNameValuePair("raceid", this.raceId.toString())); - result.add(new BasicNameValuePair("username", username)); - result.add(new BasicNameValuePair("password", password)); return result; } @@ -118,9 +114,7 @@ public class UpdateHandler { serverUpdateURI.toString(), this.action, URLEncoder.encode(this.eventId.toString(), EncodingUtf8), - URLEncoder.encode(this.raceId.toString(), EncodingUtf8), - URLEncoder.encode(username, EncodingUtf8), - URLEncoder.encode(password, EncodingUtf8)); + URLEncoder.encode(this.raceId.toString(), EncodingUtf8)); for (Entry entry : additionalParameters.entrySet()) { url += String.format("&%s=%s", @@ -141,6 +135,12 @@ public class UpdateHandler { parseAndLogResponse(reader); } + private void authenticate(HttpURLConnection connection) { + if (Util.hasLength(tracTracApiToken)) { + connection.addRequestProperty("Authorization", "Bearer " + tracTracApiToken); + } + } + protected void parseAndLogResponse(BufferedReader reader) throws IOException, ParseException, JsonDeserializationException { Object responseBody = JSONValue.parseWithException(reader); @@ -162,6 +162,7 @@ public class UpdateHandler { protected HttpURLConnection setConnectionProperties(HttpURLConnection connection) throws IOException { return followRedirects(connection, c->{ + authenticate(c); c.setRequestMethod(HttpGetRequestMethod); c.setDoOutput(false); c.setUseCaches(false); @@ -170,11 +171,13 @@ public class UpdateHandler { protected HttpURLConnection setConnectionPropertiesAndSendWithPayload(HttpURLConnection connection, String payload) throws IOException { return followRedirects(connection, c-> { + authenticate(c); c.setRequestMethod(HttpPostRequestMethod); c.setDoOutput(true); c.setUseCaches(false); c.setRequestProperty(ContentType, ContentTypeApplicationJson); c.addRequestProperty(ContentLength, String.valueOf(payload.getBytes().length)); + authenticate(c); DataOutputStream writer = new DataOutputStream(c.getOutputStream()); writer.writeBytes(payload); writer.flush(); diff --git a/java/com.sap.sailing.expeditionconnector/src/com/sap/sailing/expeditionconnector/UDPMirror.java b/java/com.sap.sailing.expeditionconnector/src/com/sap/sailing/expeditionconnector/UDPMirror.java index 8dd3bece204..962d5f2adda 100755 --- a/java/com.sap.sailing.expeditionconnector/src/com/sap/sailing/expeditionconnector/UDPMirror.java +++ b/java/com.sap.sailing.expeditionconnector/src/com/sap/sailing/expeditionconnector/UDPMirror.java @@ -30,26 +30,25 @@ public class UDPMirror { } int listeningOnPort = Integer.valueOf(args[c++]); byte[] buf = new byte[65536]; - try (DatagramSocket udpSocket = new DatagramSocket(listeningOnPort)) { - DatagramPacket received = new DatagramPacket(buf, buf.length); - DatagramSocket[] sendingSockets = new DatagramSocket[(args.length - 1) / 2]; - DatagramPacket[] mirroredPackets = new DatagramPacket[(args.length - 1) / 2]; - while (c < args.length - 1) { - sendingSockets[(c - 1) / 2] = new DatagramSocket(); - mirroredPackets[(c - 1) / 2] = new DatagramPacket(buf, buf.length, InetAddress.getByName(args[c]), - Integer.valueOf(args[c + 1])); - c += 2; + DatagramSocket udpSocket = new DatagramSocket(listeningOnPort); + DatagramPacket received = new DatagramPacket(buf, buf.length); + DatagramSocket[] sendingSockets = new DatagramSocket[(args.length - 1) / 2]; + DatagramPacket[] mirroredPackets = new DatagramPacket[(args.length - 1) / 2]; + while (c < args.length - 1) { + sendingSockets[(c - 1) / 2] = new DatagramSocket(); + mirroredPackets[(c - 1) / 2] = new DatagramPacket(buf, buf.length, InetAddress.getByName(args[c]), + Integer.valueOf(args[c + 1])); + c += 2; + } + while (true) { + udpSocket.receive(received); + if (verbose) { + String packetAsString = new String(received.getData(), received.getOffset(), received.getLength()).trim(); + System.out.println(packetAsString); } - while (true) { - udpSocket.receive(received); - if (verbose) { - String packetAsString = new String(received.getData(), received.getOffset(), received.getLength()).trim(); - System.out.println(packetAsString); - } - for (int i = 0; i < mirroredPackets.length; i++) { - mirroredPackets[i].setLength(received.getLength()); - sendingSockets[i].send(mirroredPackets[i]); - } + for (int i = 0; i < mirroredPackets.length; i++) { + mirroredPackets[i].setLength(received.getLength()); + sendingSockets[i].send(mirroredPackets[i]); } } } diff --git a/java/com.sap.sailing.gwt.ui/GWT Sailing SDM.launch b/java/com.sap.sailing.gwt.ui/GWT Sailing SDM.launch index 93d9c2eb087..95e5111b41e 100755 --- a/java/com.sap.sailing.gwt.ui/GWT Sailing SDM.launch +++ b/java/com.sap.sailing.gwt.ui/GWT Sailing SDM.launch @@ -20,20 +20,6 @@ - - - - - - - - - - - - - - diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlay.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlay.gwt.xml index 8e54a11e7c6..9f476194374 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlay.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/autoplay/AutoPlay.gwt.xml @@ -19,7 +19,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/common/SailingLocalesAllPermutations.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/common/SailingLocalesAllPermutations.gwt.xml index 24a5611a53d..a3ff62d75df 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/common/SailingLocalesAllPermutations.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/common/SailingLocalesAllPermutations.gwt.xml @@ -13,8 +13,8 @@ but there can be other i18n bundles. - the build script switches references to *SinglePermutation* - to *SinglePermutation* in gwt modules with the "-b" option. + the build script switches references to *AllPermutations* + to *AllPermutations* in gwt modules with the "-b" option. --> diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/HomeBase.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/HomeBase.gwt.xml index 895b2b7b693..9424be7743a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/HomeBase.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/HomeBase.gwt.xml @@ -25,7 +25,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/managementconsole/ManagementConsole.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/managementconsole/ManagementConsole.gwt.xml index 6f76e609d2e..e39bfe47e1f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/managementconsole/ManagementConsole.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/managementconsole/ManagementConsole.gwt.xml @@ -32,7 +32,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/regattaoverview/RegattaOverview.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/regattaoverview/RegattaOverview.gwt.xml index 39a6d812dfd..f65de682867 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/regattaoverview/RegattaOverview.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/regattaoverview/RegattaOverview.gwt.xml @@ -26,7 +26,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/AdminConsole.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/AdminConsole.gwt.xml index b8bea7586fd..015085a6ac8 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/AdminConsole.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/AdminConsole.gwt.xml @@ -42,7 +42,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SwissTimingEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SwissTimingEventManagementPanel.java index d63f4873706..5dcd136737f 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SwissTimingEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SwissTimingEventManagementPanel.java @@ -94,7 +94,7 @@ public class SwissTimingEventManagementPanel extends AbstractEventManagementPane sailingServiceWrite.createSwissTimingConfiguration(editedConnection.getName(), editedConnection.getJsonUrl(), editedConnection.getHostname(), editedConnection.getPort(), editedConnection.getUpdateURL(), - editedConnection.getUpdateUsername(), editedConnection.getUpdatePassword(), + editedConnection.getApiToken(), new MarkedAsyncCallback(new AsyncCallback() { @Override public void onFailure(Throwable caught) { @@ -422,8 +422,7 @@ public class SwissTimingEventManagementPanel extends AbstractEventManagementPane final String hostname = selectedObject.getHostname(); final Integer port = selectedObject.getPort(); final String updateURL = selectedObject.getUpdateURL(); - final String updateUsername = selectedObject.getUpdateUsername(); - final String updatePassword = selectedObject.getUpdatePassword(); + final String apiToken = selectedObject.getApiToken(); final List selectedRaces = new ArrayList(); for (final SwissTimingRaceRecordDTO race : this.raceList.getList()) { if (raceTable.getSelectionModel().isSelected(race)) { @@ -438,8 +437,8 @@ public class SwissTimingEventManagementPanel extends AbstractEventManagementPane // Check if the assigned regatta makes sense if (checkBoatClassOK(selectedRegatta, selectedRaces)) { sailingServiceWrite.trackWithSwissTiming(/* regattaToAddTo */ regattaIdentifier, selectedRaces, hostname, port==null?0:port, - trackWind, correctWindByDeclination, useInternalMarkPassingAlgorithm, updateURL, updateUsername, - updatePassword, selectedObject.getName(), selectedObject.getJsonUrl(), new AsyncCallback() { + trackWind, correctWindByDeclination, useInternalMarkPassingAlgorithm, updateURL, apiToken, + selectedObject.getName(), selectedObject.getJsonUrl(), new AsyncCallback() { @Override public void onFailure(Throwable caught) { errorReporter.reportError("Error trying to register races " + selectedRaces diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java index 8918bab507c..4d6721b9efd 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java @@ -133,8 +133,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel i editedConnection.getJsonUrl(), editedConnection.getLiveDataURI(), editedConnection.getStoredDataURI(), editedConnection.getUpdateURI(), - editedConnection.getTracTracUsername(), editedConnection.getTracTracPassword(), - new MarkedAsyncCallback(new AsyncCallback() { + editedConnection.getTracTracApiToken(), new MarkedAsyncCallback(new AsyncCallback() { @Override public void onFailure(Throwable caught) { reportError("Exception trying to create configuration in DB: " @@ -450,6 +449,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel i if (selectedConnections.size() == 1) { TracTracConfigurationWithSecurityDTO selectedConnection = selectedConnections.iterator().next(); sailingService.listTracTracRacesInEvent(selectedConnection.getJsonUrl(), listHiddenRaces, + selectedConnection.getTracTracApiToken(), new MarkedAsyncCallback>>( new AsyncCallback>>() { @Override diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/swisstiming/SwissTimingConnectionDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/swisstiming/SwissTimingConnectionDialog.java index d6708579ae5..1b84b033d99 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/swisstiming/SwissTimingConnectionDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/swisstiming/SwissTimingConnectionDialog.java @@ -3,11 +3,12 @@ package com.sap.sailing.gwt.ui.adminconsole.swisstiming; import com.google.gwt.user.client.ui.Focusable; import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.PasswordTextBox; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.ui.adminconsole.SwissTimingEventManagementPanel; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.SwissTimingConfigurationWithSecurityDTO; +import com.sap.sse.common.Util; import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.dialog.DataEntryDialog; import com.sap.sse.security.ui.client.UserService; @@ -27,8 +28,8 @@ public class SwissTimingConnectionDialog extends DataEntryDialog dto.getPort() == null ? "" : ("" + dto.getPort()), swissTimingConectionColumnListHandler); final TextColumn swissTimingConnectionUpdateUrlColumn = new AbstractSortableTextColumn( dto -> dto.getUpdateURL(), swissTimingConectionColumnListHandler); - final TextColumn swissTimingConnectionUpdateUsernameColumn = new AbstractSortableTextColumn( - dto -> dto.getUpdateUsername(), swissTimingConectionColumnListHandler); + final TextColumn swissTimingConnectionApiTokenColumn = new AbstractSortableTextColumn( + dto -> Util.hasLength(dto.getApiToken()) ? dto.getApiToken() : dto.isApiTokenAvailable() ? "********" : "", swissTimingConectionColumnListHandler); final TextColumn swissTimingConnectionCreatorNameColumn = new AbstractSortableTextColumn( dto -> dto.getCreatorName(), swissTimingConectionColumnListHandler); final HasPermissions type = SecuredDomainType.SWISS_TIMING_ACCOUNT; @@ -141,8 +142,8 @@ public class SwissTimingConnectionTableWrapper extends public Iterable getSearchableStrings(SwissTimingConfigurationWithSecurityDTO t) { List strings = new ArrayList(); strings.add(t.getName()); - if (t.getUpdateUsername() != null) { - strings.add(t.getUpdateUsername()); + if (t.getApiToken() != null) { + strings.add(t.getApiToken()); } strings.add(t.getCreatorName()); if (t.getHostname() != null) { @@ -173,7 +174,7 @@ public class SwissTimingConnectionTableWrapper extends table.addColumn(swissTimingConnectionHostnameColumn, stringMessagesClient.hostname()); table.addColumn(swissTimingConnectionPortColumn, stringMessagesClient.manage2SailPort()); table.addColumn(swissTimingConnectionUpdateUrlColumn, stringMessagesClient.updateURL()); - table.addColumn(swissTimingConnectionUpdateUsernameColumn, stringMessagesClient.username()); + table.addColumn(swissTimingConnectionApiTokenColumn, stringMessagesClient.swissTimingUpdateApiToken()); table.addColumn(swissTimingConnectionCreatorNameColumn, stringMessagesClient.creatorName()); SecuredDTOOwnerColumn.configureOwnerColumns(table, swissTimingConectionColumnListHandler, stringMessages); table.addColumn(actionColumn, stringMessages.actions()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/tractrac/TracTracConnectionDialog.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/tractrac/TracTracConnectionDialog.java index 060751d0c0a..d27b619698a 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/tractrac/TracTracConnectionDialog.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/tractrac/TracTracConnectionDialog.java @@ -1,11 +1,23 @@ package com.sap.sailing.gwt.ui.adminconsole.tractrac; +import com.google.gwt.http.client.Request; +import com.google.gwt.http.client.RequestBuilder; +import com.google.gwt.http.client.RequestCallback; +import com.google.gwt.http.client.RequestException; +import com.google.gwt.http.client.Response; +import com.google.gwt.json.client.JSONObject; +import com.google.gwt.json.client.JSONParser; +import com.google.gwt.json.client.JSONString; +import com.google.gwt.json.client.JSONValue; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.Focusable; import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.PasswordTextBox; import com.google.gwt.user.client.ui.TextBox; import com.google.gwt.user.client.ui.Widget; +import com.sap.sailing.gwt.ui.adminconsole.TracTracEventManagementPanel; import com.sap.sailing.gwt.ui.client.StringMessages; import com.sap.sailing.gwt.ui.shared.TracTracConfigurationWithSecurityDTO; import com.sap.sse.common.Util; @@ -30,8 +42,10 @@ public class TracTracConnectionDialog extends DataEntryDialogtestTracTracConnection()); + testConnectionButton.setEnabled(false); // need active entry of API token + tracTracApiTokenTextBox.addKeyUpHandler(e -> testConnectionButton.setEnabled(Util.hasLength(tracTracApiTokenTextBox.getValue()))); + grid.setWidget(5, 2, testConnectionButton); } + private void testTracTracConnection() { + // need to obtain event ID and perhaps server_update_uri from document referenced by JSON URL + final RequestBuilder rbJsonUrl = new RequestBuilder(RequestBuilder.GET, jsonURLTextBox.getValue()); + try { + rbJsonUrl.sendRequest(/* request data */ null, new RequestCallback() { + @Override + public void onResponseReceived(Request request, Response response) { + if (200 == response.getStatusCode()) { + // Success + final String responseText = response.getText(); + final JSONValue jsonResult = JSONParser.parseStrict(responseText); + if (jsonResult instanceof JSONObject) { + final JSONObject jsonObject = (JSONObject) jsonResult; + final JSONObject eventJson = (JSONObject) jsonObject.get("event"); + final String eventId = eventJson.get("id").isString().stringValue(); + String serverUpdateURI = null; + if (!Util.hasLength(tracTracUpdateURITextBox.getValue())) { + final JSONString serverUpdateURIJSONString = eventJson.get("server_update_uri").isString(); + if (serverUpdateURIJSONString == null) { + errorReporter.reportError(stringMessages.tracTracConnectionTestFailed("server_update_uri")); + serverUpdateURI = null; + } else { + serverUpdateURI = serverUpdateURIJSONString.stringValue(); + } + } else { + serverUpdateURI = tracTracUpdateURITextBox.getValue(); + } + if (serverUpdateURI == null) { + errorReporter.reportError(stringMessages.tracTracConnectionTestFailed("server_update_uri")); + } else { + testTracTracConnectionWithUpdateURI(serverUpdateURI, eventId); + } + } else { + errorReporter.reportError(stringMessages.tracTracConnectionTestFailed(jsonResult.getClass().getName())); + } + } else { + errorReporter.reportError(stringMessages.tracTracConnectionTestFailed(response.getStatusText())); + } + } + + @Override + public void onError(Request request, Throwable exception) { + errorReporter.reportError(stringMessages.tracTracConnectionTestFailed(exception.getMessage())); + } + }); + } catch (RequestException e) { + errorReporter.reportError(stringMessages.tracTracConnectionTestFailed(e.getMessage())); + } + } + + private void testTracTracConnectionWithUpdateURI(String serverUpdateURI, String eventId) { + final RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, serverUpdateURI+"/api/v3/valid?eventId="+eventId); + rb.setHeader("Authorization", "Bearer " + tracTracApiTokenTextBox.getValue()); + try { + rb.sendRequest(/* request data */ null, new RequestCallback() { + @Override + public void onResponseReceived(Request request, Response response) { + if (200 == response.getStatusCode()) { + Window.alert(stringMessages.ok()+"\n"+response.getText()); + } else { + errorReporter.reportError(stringMessages.tracTracConnectionTestFailed(response.getStatusText())); + } + } + + @Override + public void onError(Request request, Throwable exception) { + errorReporter.reportError(stringMessages.tracTracConnectionTestFailed(exception.getMessage())); + } + }); + } catch (RequestException e) { + errorReporter.reportError(stringMessages.tracTracConnectionTestFailed(e.getMessage())); + } + } + @Override protected Focusable getInitialFocusWidget() { return jsonURLTextBox; @@ -108,10 +196,9 @@ public class TracTracConnectionDialog extends DataEntryDialog dto.getJsonUrl(), tracTracAccountColumnListHandler); final TextColumn tracTracAccountTracTracServerUpdateUriColumn = new AbstractSortableTextColumn( dto -> dto.getUpdateURI()==null?"":dto.getUpdateURI(), tracTracAccountColumnListHandler); - final TextColumn tracTracAccountUsernameColumn = new AbstractSortableTextColumn( - dto -> dto.getTracTracUsername(), tracTracAccountColumnListHandler); + final TextColumn tracTracAccountApiTokenColumn = new AbstractSortableTextColumn( + dto -> Util.hasLength(dto.getTracTracApiToken()) ? dto.getTracTracApiToken() : dto.isTracTracApiTokenAvailable() ? "********" : "", tracTracAccountColumnListHandler); final TextColumn tracTracAccountCreatorNameColumn = new AbstractSortableTextColumn( dto -> dto.getCreatorName(), tracTracAccountColumnListHandler); final HasPermissions type = SecuredDomainType.TRACTRAC_ACCOUNT; @@ -157,7 +158,7 @@ public class TracTracConnectionTableWrapper extends table.addColumn(tracTracAccountStoredUriColumn, stringMessagesClient.storedUri()); table.addColumn(tracTracAccountJsonUrlColumn, stringMessagesClient.jsonUrl()); table.addColumn(tracTracAccountTracTracServerUpdateUriColumn, stringMessagesClient.tracTracUpdateUrl()); - table.addColumn(tracTracAccountUsernameColumn, stringMessagesClient.tractracUsername()); + table.addColumn(tracTracAccountApiTokenColumn, stringMessagesClient.tractracApiToken()); table.addColumn(tracTracAccountCreatorNameColumn, stringMessagesClient.creatorName()); SecuredDTOOwnerColumn.configureOwnerColumns(table, tracTracAccountColumnListHandler, stringMessages); table.addColumn(actionColumn, stringMessages.actions()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index bb9f57d6e14..6d25008bdeb 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -129,7 +129,7 @@ public interface SailingService extends RemoteService, RemoteReplicationService List getEvents() throws Exception; Util.Pair> listTracTracRacesInEvent(String eventJsonURL, - boolean listHiddenRaces) throws UnauthorizedException, Exception; + boolean listHiddenRaces, String tracTracApiToken) throws UnauthorizedException, Exception; void replaySwissTimingRace(RegattaIdentifier regattaIdentifier, Iterable replayRaces, boolean trackWind, boolean correctWindByDeclination, boolean useInternalMarkPassingAlgorithm) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java index 7459bc6fea0..c736eebecec 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.java @@ -123,11 +123,10 @@ public interface SailingServiceAsync extends RemoteReplicationServiceAsync { /** * The string returned in the callback's pair is the common event name - * * @param listHiddenRaces */ void listTracTracRacesInEvent(String eventJsonURL, boolean listHiddenRaces, - AsyncCallback>> callback); + String tracTracApiToken, AsyncCallback>> callback); void replaySwissTimingRace(RegattaIdentifier regattaIdentifier, Iterable replayRaces, boolean trackWind, boolean correctWindByDeclination, boolean useInternalMarkPassingAlgorithm, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceWrite.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceWrite.java index d1759a79a18..d5da19494f4 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceWrite.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceWrite.java @@ -115,7 +115,6 @@ import com.sap.sse.security.interfaces.UserStore; import com.sap.sse.security.ui.shared.SuccessInfo; public interface SailingServiceWrite extends FileStorageManagementGwtService, SailingService { - void setORCPerformanceCurveScratchBoat(String leaderboardName, String raceColumnName, String fleetName, CompetitorDTO newScratchBoatDTO) throws NotFoundException; @@ -343,7 +342,7 @@ public interface SailingServiceWrite extends FileStorageManagementGwtService, Sa void trackWithSwissTiming(RegattaIdentifier regattaToAddTo, List rrs, String hostname, int port, boolean trackWind, boolean correctWindByDeclination, boolean useInternalMarkPassingAlgorithm, - String updateURL, String updateUsername, String updatePassword, String eventName, String manage2SailEventUrl) throws UnauthorizedException, Exception; + String updateURL, String apiToken, String eventName, String manage2SailEventUrl) throws UnauthorizedException, Exception; void updateSwissTimingConfiguration(SwissTimingConfigurationWithSecurityDTO configuration) throws UnauthorizedException, Exception; @@ -352,7 +351,7 @@ public interface SailingServiceWrite extends FileStorageManagementGwtService, Sa throws UnauthorizedException, Exception; void createSwissTimingConfiguration(String configName, String jsonURL, String hostname, Integer port, - String updateURL, String updateUsername, String updatePassword) throws UnauthorizedException, Exception; + String updateURL, String apiToken) throws UnauthorizedException, Exception; void updateRacesDelayToLive(List regattaAndRaceIdentifiers, long delayToLiveInMs); @@ -462,7 +461,7 @@ public interface SailingServiceWrite extends FileStorageManagementGwtService, Sa throws UnauthorizedException, Exception; void createTracTracConfiguration(String name, String jsonURL, String liveDataURI, String storedDataURI, - String courseDesignUpdateURI, String tracTracUsername, String tracTracPassword) throws Exception; + String courseDesignUpdateURI, String tracTracApiToken) throws Exception; void trackWithTracTrac(RegattaIdentifier regattaToAddTo, List rrs, String liveURIFromConfiguration, String storedURIFromConfiguration, String courseDesignUpdateURI, boolean trackWind, boolean correctWindByDeclination, diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceWriteAsync.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceWriteAsync.java index 6bd6e40346e..ea15028ecee 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceWriteAsync.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceWriteAsync.java @@ -318,11 +318,11 @@ public interface SailingServiceWriteAsync extends FileStorageManagementGwtServic void trackWithSwissTiming(RegattaIdentifier regattaToAddTo, List rrs, String hostname, int port, boolean trackWind, boolean correctWindByDeclination, boolean useInternalMarkPassingAlgorithm, - String updateURL, String updateUsername, String updatePassword, String eventName, - String manage2SailEventUrl, AsyncCallback asyncCallback); + String updateURL, String apiToken, String eventName, String manage2SailEventUrl, + AsyncCallback asyncCallback); void createTracTracConfiguration(String name, String jsonURL, String liveDataURI, String storedDataURI, - String courseDesignUpdateURI, String tracTracUsername, String tracTracPassword, AsyncCallback callback); + String courseDesignUpdateURI, String tracTracApiToken, AsyncCallback callback); /** * @param creatorUserName @@ -447,7 +447,7 @@ public interface SailingServiceWriteAsync extends FileStorageManagementGwtServic AsyncCallback callback); void createSwissTimingConfiguration(String configName, String jsonURL, String hostname, Integer port, - String updateURL, String updateUsername, String updatePassword, AsyncCallback asyncCallback); + String updateURL, String apiToken, AsyncCallback asyncCallback); void updateSwissTimingConfiguration(SwissTimingConfigurationWithSecurityDTO configuration, AsyncCallback asyncCallback); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 1b8bdccbbc3..5ccdd8bed28 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -674,8 +674,7 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, String stopUpdating(); String startUpdating(); String currentTime(); - String tractracUsername(); - String tractracPassword(); + String tractracApiToken(); String operatorEquals(); String operatorNotEqualTo(); String operatorLessThan(); @@ -2043,8 +2042,7 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, String audioFiles(); String selectMedia(); String swissTimingUpdateURL(); - String swissTimingUpdateUsername(); - String swissTimingUpdatePassword(); + String swissTimingUpdateApiToken(); String allowResizing(); String resize(); String resizeSuccessfull(); @@ -2547,4 +2545,6 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, String strategySimulator(); String contentStrategySimulator(); String strategySimulatorReadMore(); + String testConnection(); + String tracTracConnectionTestFailed(String message); } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 78525f7c6a8..84aa383c754 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -685,8 +685,7 @@ refreshNow=Refresh now stopUpdating=Stop updating startUpdating=Start updating currentTime=Current time: -tractracUsername=TracTrac username -tractracPassword=TracTrac password +tractracApiToken=TracTrac API token operatorEquals=Equals operatorNotEqualTo=Not equals to operatorLessThan=Less than @@ -2103,8 +2102,7 @@ manage2SailPort=Port audioFiles=Audio tracks selectMedia=Select Media swissTimingUpdateURL=Update URL (e.g., for start time and course change feedback) -swissTimingUpdateUsername=Username for sending updates -swissTimingUpdatePassword=Password for sending updates +swissTimingUpdateApiToken=API token for sending updates allowResizing=Allow resizing resize=resize resizeSuccessfull=Resizing successfully finished @@ -2582,4 +2580,6 @@ selectFromRaceColumn=Select race column from where to start copying pairings selectToRaceColumn=Select race colunm to where to copy pairings exportTWAHistogramToCsv=Export True Wind Angle histogram to CSV exportWindSpeedHistogramToCsv=Export Wind Speed histogram to CSV -optionalBearerTokenForWindImport=Optional bearer token for wind import \ No newline at end of file +optionalBearerTokenForWindImport=Optional bearer token for wind import +testConnection=Test Connection +tracTracConnectionTestFailed=TracTrac connection test failed: {0} \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_cs.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_cs.properties index e3c6dfd950c..e5f8c80c147 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_cs.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_cs.properties @@ -681,8 +681,6 @@ refreshNow=Aktualizovat nyní stopUpdating=Zastavit aktualizování startUpdating=Zahájit aktualizování currentTime=Aktuální Äas: -tractracUsername=Uživatelské jméno TracTrac -tractracPassword=Heslo TracTrac operatorEquals=Rovno operatorNotEqualTo=Není rovno operatorLessThan=Menší než @@ -2099,8 +2097,6 @@ manage2SailPort=Port audioFiles=Zvukové stopy selectMedia=Vybrat médium swissTimingUpdateURL=Aktualizovat URL (například pro Äas startu a zpÄ›tnou vazbu ke zmÄ›nÄ› kurzu) -swissTimingUpdateUsername=Uživatelské jméno pro zasílání aktualizací -swissTimingUpdatePassword=Heslo pro zasílání aktualizací allowResizing=Povolit zmÄ›nu velikosti resize=zmÄ›na velikosti resizeSuccessfull=ZmÄ›na velikosti byla úspěšnÄ› dokonÄena diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_da.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_da.properties index 9362ede656d..d38dbb2f901 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_da.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_da.properties @@ -681,8 +681,6 @@ refreshNow=Opdater nu stopUpdating=Stop opdatering startUpdating=Start opdatering currentTime=Aktuel tid: -tractracUsername=TracTrac-brugernavn -tractracPassword=TracTrac-adgangskode operatorEquals=Er lig med operatorNotEqualTo=Er ikke lig med operatorLessThan=Mindre end @@ -2099,8 +2097,6 @@ manage2SailPort=Port audioFiles=Lydspor selectMedia=Vælg medier swissTimingUpdateURL=Opdater URL (fx til starttidspunkt og feedback om baneændringer) -swissTimingUpdateUsername=Brugernavn til at sende opdateringer -swissTimingUpdatePassword=Adgangskode til at sende opdateringer allowResizing=Tillad tilpasning af størrelse resize=tilpas størrelse resizeSuccessfull=Størrelsen blev tilpasset diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index d8428fdaf88..dd377f7918b 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -674,8 +674,7 @@ refreshNow=Jetzt aktualisieren stopUpdating=Aktualisierung stoppen startUpdating=Aktualisierung starten currentTime=Aktuelle Zeit: -tractracUsername=TracTrac Benutzername -tractracPassword=TracTrac Passwort +tractracApiTOken=TracTrac API-Token operatorEquals=Ist gleich operatorNotEqualTo=Ist ungleich operatorLessThan=Kleiner als @@ -2089,8 +2088,7 @@ manage2SailPort=Port audioFiles=Tonspuren selectMedia=Medium auswählen swissTimingUpdateURL=Update URL (z.B. für Startzeit-Übertragung) -swissTimingUpdateUsername=Benutzername zum Versenden der Updates -swissTimingUpdatePassword=Passwort zum Versenden der Updates +swissTimingUpdateApiToken=API-Token zum Versenden der Updates allowResizing=Skalierung erlauben resizeSuccessfull=Skalierung erfolgreich abgeschlossen resizeUnsuccessful=Skalierung nicht möglich: {0} @@ -2576,4 +2574,6 @@ selectFromRaceColumn=Spalte auswählen, ab der die Zuordnungen kopiert werden so selectToRaceColumn=Spalte auswählen, bis zu der die Zuordnungen kopiert werden sollen exportTWAHistogramToCsv=Histogramm der wahren Windwinkel in CSV exportieren exportWindSpeedHistogramToCsv=Histogramm der wahren Windgeschwindigkeiten in CSV exportieren -optionalBearerTokenForWindImport=Optionales Bearer Token für Wind-Import \ No newline at end of file +optionalBearerTokenForWindImport=Optionales Bearer Token für Wind-Import +testConnection=Verbindung testen +tracTracConnectionTestFailed=TracTrac-Verbindungstest fehlgeschlagen: {0} \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_es.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_es.properties index 0f7c4a8897f..fc9f2877662 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_es.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_es.properties @@ -681,8 +681,6 @@ refreshNow=Refrescar ahora stopUpdating=Detener actualización startUpdating=Iniciar actualización currentTime=Hora actual: -tractracUsername=ID de usuario TracTrac -tractracPassword=Contraseña TracTrac operatorEquals=Igual que operatorNotEqualTo=No igual que operatorLessThan=Menor que diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_fr.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_fr.properties index ed76897f136..454d60c1006 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_fr.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_fr.properties @@ -681,8 +681,6 @@ refreshNow=Actualiser maintenant stopUpdating=Arrêter mise à jour startUpdating=Lancer mise à jour currentTime=Heure actuelle : -tractracUsername=Nom d''utilisateur TracTrac -tractracPassword=Mot de passe TracTrac operatorEquals=Égal à operatorNotEqualTo=Non égal à operatorLessThan=Inférieur à @@ -2099,8 +2097,6 @@ manage2SailPort=À bâbord audioFiles=Pistes audio selectMedia=Sélectionner média swissTimingUpdateURL=Mettre à jour URL (par exemple pour l''heure de début ou pour les commentaires sur le changement de trajectoire) -swissTimingUpdateUsername=Nom d''utilisateur pour l''envoi des mises à jour -swissTimingUpdatePassword=Mot de passe pour l''envoi des mises à jour allowResizing=Autoriser le redimensionnement resize=redimensionner resizeSuccessfull=Redimensionnement correctement terminé diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_it.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_it.properties index 2774c886d24..01c2e770857 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_it.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_it.properties @@ -681,8 +681,6 @@ refreshNow=Aggiorna adesso stopUpdating=Arresta aggiornamento startUpdating=Avvia aggiornamento currentTime=Ora attuale: -tractracUsername=Nome utente TracTrac -tractracPassword=Password TracTrac operatorEquals=Uguale a operatorNotEqualTo=Non uguale a operatorLessThan=Inferiore a @@ -2100,8 +2098,6 @@ manage2SailPort=Porta audioFiles=Tracce audio selectMedia=Seleziona media swissTimingUpdateURL=Aggiorna URL (ad es., per ora di inizio e feedback modifica rotta) -swissTimingUpdateUsername=Nome utente per invio aggiornamenti -swissTimingUpdatePassword=Password per invio aggiornamenti allowResizing=Consenti ridimensionamento resize=ridimensionamento resizeSuccessfull=Ridimensionamento terminato correttamente diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties index bd2e1ee50e3..bffc4a021f5 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties @@ -681,8 +681,6 @@ refreshNow=今ã™ãリフレッシュ stopUpdating=æ›´æ–°åœæ­¢ startUpdating=æ›´æ–°é–‹å§‹ currentTime=ç¾åœ¨æ™‚刻: -tractracUsername=TracTrac ユーザå -tractracPassword=TracTrac パスワード operatorEquals=ç­‰ã—ã„ operatorNotEqualTo=ç­‰ã—ããªã„ operatorLessThan=未満 @@ -2099,8 +2097,6 @@ manage2SailPort=ãƒãƒ¼ãƒˆ audioFiles=音声トラック selectMedia=ãƒ¡ãƒ‡ã‚£ã‚¢é¸æŠž swissTimingUpdateURL=URL ã®æ›´æ–° (スタート時刻やコース変更ã®ãƒ•ィードãƒãƒƒã‚¯ãªã©) -swissTimingUpdateUsername=æ›´æ–°é€ä¿¡ã®ãƒ¦ãƒ¼ã‚¶å -swissTimingUpdatePassword=æ›´æ–°é€ä¿¡ã®ãƒ‘スワード allowResizing=ãƒªã‚µã‚¤ã‚ºã‚’è¨±å¯ resize=リサイズ resizeSuccessfull=ãƒªã‚µã‚¤ã‚ºãŒæ­£å¸¸ã«çµ‚了ã—ã¾ã—㟠diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_pt.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_pt.properties index d237f4c9255..f3f04832568 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_pt.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_pt.properties @@ -681,8 +681,6 @@ refreshNow=Atualizar agora stopUpdating=Parar atualização startUpdating=Iniciar atualização currentTime=Tempo atual: -tractracUsername=Nome de usuário de TracTrac -tractracPassword=Senha de TracTrac operatorEquals=Igual a operatorNotEqualTo=Diferente de operatorLessThan=Menor que @@ -2099,8 +2097,6 @@ manage2SailPort=Bombordo audioFiles=Faixas de áudio selectMedia=Selecionar mídia swissTimingUpdateURL=Atualizar URL (por exemplo, para hora de partida e feedback de mudança de percurso) -swissTimingUpdateUsername=Nome de usuário para enviar atualizações -swissTimingUpdatePassword=Senha para enviar atualizações allowResizing=Permitir redimensionamento resize=redimensionar resizeSuccessfull=Redimensionamento concluído com êxito diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties index d72c2c1886e..a5f9ba285fe 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties @@ -681,8 +681,6 @@ refreshNow=Обновить ÑÐµÐ¹Ñ‡Ð°Ñ stopUpdating=Прекратить обновление startUpdating=Ðачать обновление currentTime=Текущее времÑ: -tractracUsername=Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ TracTrac -tractracPassword=Пароль TracTrac operatorEquals=Равно operatorNotEqualTo=Ðе равно operatorLessThan=Меньше @@ -2099,8 +2097,6 @@ manage2SailPort=Порт audioFiles=Ðудиообъект selectMedia=Выбрать мультимедиа swissTimingUpdateURL=Обновить URL (например, Ð´Ð»Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð¸ начала и отзыва об изменении курÑа) -swissTimingUpdateUsername=Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ обновлений -swissTimingUpdatePassword=Пароль Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ обновлений allowResizing=Разрешить изменение размера resize=изменение размера resizeSuccessfull=Изменение размера завершено diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_sl.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_sl.properties index afabf005229..0a661d7268c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_sl.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_sl.properties @@ -681,8 +681,6 @@ refreshNow=Osveži zdaj stopUpdating=Ustavi posodabljanje startUpdating=ZaÄni posodabljanje currentTime=Trenutni Äas: -tractracUsername=UporabniÅ¡ko ime za TracTrac -tractracPassword=Geslo za TracTrac operatorEquals=Je enako operatorNotEqualTo=Ni enako operatorLessThan=ManjÅ¡e od @@ -2099,8 +2097,6 @@ manage2SailPort=Vrata audioFiles=ZvoÄni posnetki selectMedia=Izberite medije swissTimingUpdateURL=Posodobite URL (npr. za Äas zaÄetka in povratne informacije o spremembi kurza) -swissTimingUpdateUsername=UporabniÅ¡ko ime za poÅ¡iljanje posodobitev -swissTimingUpdatePassword=Geslo za poÅ¡iljanje posodobitev allowResizing=Dovoli spreminjanje velikosti resize=spreminjanje velikosti resizeSuccessfull=Spreminjanje velikosti uspeÅ¡no konÄano diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh.properties index 29f33cd69c4..4f4a8e2633d 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh.properties @@ -681,8 +681,6 @@ refreshNow=现在刷新 stopUpdating=åœæ­¢æ›´æ–° startUpdating=开始更新 currentTime=当剿—¶é—´ï¼š -tractracUsername=TracTrac 用户å -tractracPassword=TracTrac å¯†ç  operatorEquals=等于 operatorNotEqualTo=ä¸ç­‰äºŽ operatorLessThan=å°äºŽ diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java index 01e51bd7d92..761c240a8c7 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java @@ -1292,9 +1292,9 @@ public class SailingServiceImpl extends ResultCachingProxiedRemoteServiceServlet } @Override - public com.sap.sse.common.Util.Pair> listTracTracRacesInEvent(String eventJsonURL, boolean listHiddenRaces) throws MalformedURLException, IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { + public com.sap.sse.common.Util.Pair> listTracTracRacesInEvent(String eventJsonURL, boolean listHiddenRaces, String tracTracApiToken) throws MalformedURLException, IOException, ParseException, org.json.simple.parser.ParseException, URISyntaxException { com.sap.sse.common.Util.Pair> raceRecords; - raceRecords = getTracTracAdapter().getTracTracRaceRecords(new URL(eventJsonURL), /*loadClientParam*/ false); + raceRecords = getTracTracAdapter().getTracTracRaceRecords(new URL(eventJsonURL), /*loadClientParam*/ false, tracTracApiToken); List result = new ArrayList(); for (RaceRecord raceRecord : raceRecords.getB()) { if (listHiddenRaces == false && raceRecord.getRaceVisibility().equals(TracTracConnectionConstants.HIDDEN_VISIBILITY)) { @@ -1325,7 +1325,7 @@ public class SailingServiceImpl extends ResultCachingProxiedRemoteServiceServlet ttConfig.getLiveDataURI()==null?null:ttConfig.getLiveDataURI().toString(), ttConfig.getStoredDataURI()==null?null:ttConfig.getStoredDataURI().toString(), ttConfig.getUpdateURI()==null?null:ttConfig.getUpdateURI().toString(), - ttConfig.getTracTracUsername(), /* don't return passwords to the client */ null, + "" /* don't ship API token to the client */, /* tracTracApiTokenAvailable */ Util.hasLength(ttConfig.getTracTracApiToken()), ttConfig.getCreatorName()); SecurityDTOUtil.addSecurityInformation(getSecurityService(), config); return config; @@ -2496,7 +2496,8 @@ public class SailingServiceImpl extends ResultCachingProxiedRemoteServiceServlet final SwissTimingConfigurationWithSecurityDTO config = new SwissTimingConfigurationWithSecurityDTO( stConfig.getName(), stConfig.getJsonURL(), stConfig.getHostname(), stConfig.getPort(), stConfig.getUpdateURL(), - stConfig.getUpdateUsername(), stConfig.getUpdatePassword(), stConfig.getCreatorName()); + "" /* don't ship API token to client */, /* apiTokenAvailable */ Util.hasLength(stConfig.getApiToken()), + stConfig.getCreatorName()); SecurityDTOUtil.addSecurityInformation(getSecurityService(), config); return config; }); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceWriteImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceWriteImpl.java index 9c80c94e87e..a453050c63b 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceWriteImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceWriteImpl.java @@ -571,10 +571,11 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili + " and storedURI " + storedURIFromConfiguration); getSecurityService().checkCurrentUserServerPermission(ServerActions.CREATE_OBJECT); final TracTracConfiguration config = tractracDomainObjectFactory.getTracTracConfiguration(jsonUrlAsKey); + final String tracTracApiToken = config == null ? null : config.getTracTracApiToken(); for (TracTracRaceRecordDTO rr : rrs) { try { // reload JSON and load clientparams.php - final RaceRecord record = getTracTracAdapter().getSingleTracTracRaceRecord(new URL(rr.jsonURL), rr.id, /*loadClientParams*/true); + final RaceRecord record = getTracTracAdapter().getSingleTracTracRaceRecord(new URL(rr.jsonURL), rr.id, /*loadClientParams*/true, tracTracApiToken); logger.info("Loaded race " + record.getName() + " in " + record.getEventName() + " start:" + record.getRaceStartTime() + " trackingStart:" + record.getTrackingStartTime() + " trackingEnd:" + record.getTrackingEndTime()); // note that the live URI may be null for races that were put into replay mode @@ -605,8 +606,8 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili new MillisecondsTimePoint(record.getTrackingStartTime().asMillis()), new MillisecondsTimePoint(record.getTrackingEndTime().asMillis()), getRaceLogStore(), getRegattaLogStore(), RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, - offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, config == null ? null : config.getTracTracUsername(), - config == null ? null : config.getTracTracPassword(), record.getRaceStatus(), record.getRaceVisibility(), trackWind, + offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, tracTracApiToken, + record.getRaceStatus(), record.getRaceVisibility(), trackWind, correctWindByDeclination, useOfficialEventsToUpdateRaceLog, liveURIFromConfiguration==null || liveURIFromConfiguration.trim().length() == 0 ? null : new URI(liveURIFromConfiguration), storedURIFromConfiguration==null || storedURIFromConfiguration.trim().length() == 0 ? null : new URI(storedURIFromConfiguration)); @@ -651,7 +652,7 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili @Override public void createTracTracConfiguration(String name, String jsonURL, String liveDataURI, String storedDataURI, - String courseDesignUpdateURI, String tracTracUsername, String tracTracPassword) throws Exception { + String courseDesignUpdateURI, String tracTracApiToken) throws Exception { if (existsTracTracConfigurationForCurrentUser(jsonURL)) { throw new RuntimeException("A configuration for the current user with this json URL already exists."); } @@ -662,8 +663,7 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili identifier, name, () -> tractracMongoObjectFactory.createTracTracConfiguration( getTracTracAdapter().createTracTracConfiguration(currentUserName, name, jsonURL, liveDataURI, - storedDataURI, - courseDesignUpdateURI, tracTracUsername, tracTracPassword))); + storedDataURI, courseDesignUpdateURI, tracTracApiToken))); } @Override @@ -682,10 +682,10 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili getSecurityService().checkCurrentUserUpdatePermission(tracTracConfiguration); tractracMongoObjectFactory.updateTracTracConfiguration( getTracTracAdapter().createTracTracConfiguration(tracTracConfiguration.getCreatorName(), - tracTracConfiguration.getName(), tracTracConfiguration.getJsonUrl(), - tracTracConfiguration.getLiveDataURI(), tracTracConfiguration.getStoredDataURI(), - tracTracConfiguration.getUpdateURI(), tracTracConfiguration.getTracTracUsername(), - tracTracConfiguration.getTracTracPassword())); + tracTracConfiguration.getName(), tracTracConfiguration.getJsonUrl(), + tracTracConfiguration.getLiveDataURI(), tracTracConfiguration.getStoredDataURI(), + tracTracConfiguration.getUpdateURI(), tracTracConfiguration.getTracTracApiToken()), + tracTracConfiguration.isTracTracApiTokenAvailable()); } @Override @@ -1276,7 +1276,7 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili @Override public void createSwissTimingConfiguration(String configName, String jsonURL, String hostname, Integer port, - String updateURL, String updateUsername, String updatePassword) throws Exception { + String updateURL, String apiToken) throws Exception { if (!jsonURL.equalsIgnoreCase("test")) { if (existsSwissTimingConfigurationForCurrentUser(jsonURL)) { throw new RuntimeException("A Configuration for the current user with this json URL already exists."); @@ -1289,7 +1289,7 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili () -> swissTimingAdapterPersistence .createSwissTimingConfiguration( swissTimingFactory.createSwissTimingConfiguration(configName, - jsonURL, hostname, port, updateURL, updateUsername, updatePassword, + jsonURL, hostname, port, updateURL, apiToken, currentUserName))); } } @@ -1311,15 +1311,15 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili getSecurityService().checkCurrentUserUpdatePermission(configuration); swissTimingAdapterPersistence.updateSwissTimingConfiguration(swissTimingFactory.createSwissTimingConfiguration( configuration.getName(), configuration.getJsonUrl(), configuration.getHostname(), - configuration.getPort(), configuration.getUpdateURL(), configuration.getUpdateUsername(), - configuration.getUpdatePassword(), configuration.getCreatorName())); + configuration.getPort(), configuration.getUpdateURL(), configuration.getApiToken(), + configuration.getCreatorName()), configuration.isApiTokenAvailable()); } @Override public void trackWithSwissTiming(RegattaIdentifier regattaToAddTo, List rrs, String hostname, int port, boolean trackWind, final boolean correctWindByDeclination, - boolean useInternalMarkPassingAlgorithm, String updateURL, String updateUsername, String updatePassword, - String eventName, String manage2SailEventUrl) throws InterruptedException, ParseException, Exception { + boolean useInternalMarkPassingAlgorithm, String updateURL, String apiToken, String eventName, + String manage2SailEventUrl) throws InterruptedException, ParseException, Exception { logger.info( "tracWithSwissTiming for regatta " + regattaToAddTo + " for race records " + rrs + " with hostname " + hostname + " and port " + port); @@ -1347,7 +1347,7 @@ public class SailingServiceWriteImpl extends SailingServiceImpl implements Saili rr.raceId, rr.getName(), raceDescription, boatClass, hostname, port, startList, getRaceLogStore(), getRegattaLogStore(), RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, useInternalMarkPassingAlgorithm, trackWind, - correctWindByDeclination, updateURL, updateUsername, updatePassword, eventName, manage2SailEventUrl); + correctWindByDeclination, updateURL, apiToken, eventName, manage2SailEventUrl); } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SwissTimingConfigurationWithSecurityDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SwissTimingConfigurationWithSecurityDTO.java index db1a9f54785..58046a79aa7 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SwissTimingConfigurationWithSecurityDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/SwissTimingConfigurationWithSecurityDTO.java @@ -28,27 +28,26 @@ public class SwissTimingConfigurationWithSecurityDTO implements IsSerializable, private String updateURL; /** - * The username to use as part of the credentials for requests to the {@link #updateURL}. + * The API token to use as part of the credentials for requests to the {@link #updateURL}. + * The server never sends back the API token for security reasons. But if a token is set, the + * {@link #apiTokenAvailable} flag is set to true to indicate that a token is present. */ - private String updateUsername; - - /** - * The password to use as part of the credentials for requests to the {@link #updateURL}. - */ - private String updatePassword; + private String apiToken; + + private boolean apiTokenAvailable; public SwissTimingConfigurationWithSecurityDTO() {} public SwissTimingConfigurationWithSecurityDTO(String name, String jsonUrl, String hostname, Integer port, - String updateURL, String updateUsername, String updatePassword, String creatorName) { + String updateURL, String apiToken, boolean apiTokenAvailable, String creatorName) { super(); this.name = name; this.jsonUrl = jsonUrl; this.hostname = hostname; this.port = port; this.updateURL = updateURL; - this.updateUsername = updateUsername; - this.updatePassword = updatePassword; + this.apiToken = apiToken; + this.apiTokenAvailable = apiTokenAvailable; this.creatorName = creatorName; } @@ -59,8 +58,8 @@ public class SwissTimingConfigurationWithSecurityDTO implements IsSerializable, this.hostname = hostname; this.port = port; this.updateURL = dto.getUpdateURL(); - this.updateUsername = dto.getUpdateUsername(); - this.updatePassword = dto.getUpdatePassword(); + this.apiToken = dto.getApiToken(); + this.apiTokenAvailable = dto.isApiTokenAvailable(); this.creatorName = dto.getCreatorName(); } @@ -84,14 +83,14 @@ public class SwissTimingConfigurationWithSecurityDTO implements IsSerializable, return updateURL; } - public String getUpdateUsername() { - return updateUsername; + public String getApiToken() { + return apiToken; } - public String getUpdatePassword() { - return updatePassword; + public boolean isApiTokenAvailable() { + return apiTokenAvailable; } - + public String getCreatorName() { return creatorName; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/TracTracConfigurationWithSecurityDTO.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/TracTracConfigurationWithSecurityDTO.java index cf0965949ad..09498fd4a72 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/TracTracConfigurationWithSecurityDTO.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/shared/TracTracConfigurationWithSecurityDTO.java @@ -20,8 +20,19 @@ public class TracTracConfigurationWithSecurityDTO implements IsSerializable, Sec private String liveDataURI; private String storedDataURI; private String courseDesignUpdateURI; - private String tracTracUsername; - private String tracTracPassword; + + /** + * The server never sends back the API token for security reasons. But if a token is set, the + * {@link #tracTracApiTokenAvailable} flag is set to true to indicate that a token is present. + */ + private String tracTracApiToken; + + /** + * If {@code true}, then an API token is generally known, but it may not be set in {@link #tracTracApiToken} for + * security reasons. + */ + private boolean tracTracApiTokenAvailable; + private String creatorName; public TracTracConfigurationWithSecurityDTO() { @@ -32,15 +43,15 @@ public class TracTracConfigurationWithSecurityDTO implements IsSerializable, Sec } public TracTracConfigurationWithSecurityDTO(String name, String jsonUrl, String liveDataURI, String storedDataURI, - String courseDesignUpdateUrl, String tractracUsername, String tractracPassword, String creatorName) { + String courseDesignUpdateUrl, String tracTracApiToken, boolean tracTracApiTokenAvailable, String creatorName) { super(); this.name = name; this.jsonUrl = jsonUrl; this.liveDataURI = liveDataURI; this.storedDataURI = storedDataURI; this.courseDesignUpdateURI = courseDesignUpdateUrl; - this.tracTracUsername = tractracUsername; - this.tracTracPassword = tractracPassword; + this.tracTracApiToken = tracTracApiToken; + this.tracTracApiTokenAvailable = tracTracApiTokenAvailable; this.creatorName = creatorName; } @@ -52,8 +63,8 @@ public class TracTracConfigurationWithSecurityDTO implements IsSerializable, Sec this.liveDataURI = config.getLiveDataURI(); this.storedDataURI = config.getStoredDataURI(); this.courseDesignUpdateURI = config.getUpdateURI(); - this.tracTracUsername = config.getTracTracUsername(); - this.tracTracPassword = config.getTracTracPassword(); + this.tracTracApiToken = config.getTracTracApiToken(); + this.tracTracApiTokenAvailable = config.isTracTracApiTokenAvailable(); this.creatorName = config.getCreatorName(); } @@ -101,12 +112,12 @@ public class TracTracConfigurationWithSecurityDTO implements IsSerializable, Sec return courseDesignUpdateURI; } - public String getTracTracUsername() { - return tracTracUsername; + public String getTracTracApiToken() { + return tracTracApiToken; } - - public String getTracTracPassword() { - return tracTracPassword; + + public boolean isTracTracApiTokenAvailable() { + return tracTracApiTokenAvailable; } public String getCreatorName() { diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/DataMining.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/DataMining.gwt.xml index 43c85e948a9..518477e508c 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/DataMining.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/DataMining.gwt.xml @@ -32,7 +32,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/EmbeddedMapAndWindChart.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/EmbeddedMapAndWindChart.gwt.xml index 887505cbda0..db2080e96e2 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/EmbeddedMapAndWindChart.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/EmbeddedMapAndWindChart.gwt.xml @@ -23,7 +23,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Leaderboard.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Leaderboard.gwt.xml index 7f15fa1ab5a..d9bcb949395 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Leaderboard.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Leaderboard.gwt.xml @@ -24,7 +24,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/PairingList.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/PairingList.gwt.xml index 735efafd3f8..a98559a0062 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/PairingList.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/PairingList.gwt.xml @@ -24,7 +24,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Simulator.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Simulator.gwt.xml index b30b0663a1c..adf93560184 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Simulator.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Simulator.gwt.xml @@ -20,7 +20,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Spectator.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Spectator.gwt.xml index 3a9b8401c9b..9dee260d3db 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Spectator.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/Spectator.gwt.xml @@ -23,7 +23,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/VideoPopup.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/VideoPopup.gwt.xml index d15371d1568..2a308c98834 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/VideoPopup.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/VideoPopup.gwt.xml @@ -25,7 +25,7 @@ - + diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/YoutubePopup.gwt.xml b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/YoutubePopup.gwt.xml index c131e63ff79..7701b717095 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/YoutubePopup.gwt.xml +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/ui/YoutubePopup.gwt.xml @@ -23,7 +23,7 @@ - + diff --git a/java/com.sap.sailing.landscape.test/src/com/sap/sailing/landscape/test/TestReleaseRepository.java b/java/com.sap.sailing.landscape.test/src/com/sap/sailing/landscape/test/TestReleaseRepository.java index c65a71d9b45..38fab1e16be 100755 --- a/java/com.sap.sailing.landscape.test/src/com/sap/sailing/landscape/test/TestReleaseRepository.java +++ b/java/com.sap.sailing.landscape.test/src/com/sap/sailing/landscape/test/TestReleaseRepository.java @@ -16,6 +16,6 @@ public class TestReleaseRepository { @Test public void testForAtLeastOneMasterRelease() { - assertNotNull(SailingReleaseRepository.INSTANCE.getLatestMasterRelease()); + assertNotNull(SailingReleaseRepository.INSTANCE.getLatestDefaultRelease()); } } diff --git a/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/client/LandscapeManagementPanel.java b/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/client/LandscapeManagementPanel.java index d90d78271b1..82f4fea3727 100755 --- a/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/client/LandscapeManagementPanel.java +++ b/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/client/LandscapeManagementPanel.java @@ -948,9 +948,9 @@ public class LandscapeManagementPanel extends SimplePanel { applicationReplicaSetToDefineLandingPageFor.getMaster(), applicationReplicaSetToDefineLandingPageFor.getReplicas(), applicationReplicaSetToDefineLandingPageFor.getVersion(), + applicationReplicaSetToDefineLandingPageFor.getReleaseNotesLink(), applicationReplicaSetToDefineLandingPageFor.getHostname(), - newDefaultRedirect, - applicationReplicaSetToDefineLandingPageFor.getAutoScalingGroupAmiId())); + newDefaultRedirect, applicationReplicaSetToDefineLandingPageFor.getAutoScalingGroupAmiId())); Notification.notify(stringMessages.successfullyUpdatedLandingPage(), NotificationType.SUCCESS); } }); diff --git a/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/client/LinkBuilder.java b/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/client/LinkBuilder.java index 552e5b82815..ac277d4b71c 100644 --- a/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/client/LinkBuilder.java +++ b/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/client/LinkBuilder.java @@ -127,10 +127,6 @@ public class LinkBuilder implements Builder { return (port == 443 ? "https" : "http") + "://" + host + ":" + port + "/gwt/status"; } - private String getReleaseNotesLink(final String version) { - return "https://releases.sapsailing.com/" + version + "/release-notes.txt"; - } - /** * Checks if an attribute is null and throws an exception if so. * @@ -193,7 +189,7 @@ public class LinkBuilder implements Builder { case Version: checkAttribute(replicaSet, "Replicaset"); final String version = replicaSet.getVersion(); - final String releaseNotesLink = getReleaseNotesLink(version); + final String releaseNotesLink = replicaSet.getReleaseNotesLink(); appendEc2Link(builder, releaseNotesLink, version); break; case MasterHost: diff --git a/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/server/LandscapeManagementWriteServiceImpl.java b/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/server/LandscapeManagementWriteServiceImpl.java index 3f7d1469541..f7947424bae 100755 --- a/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/server/LandscapeManagementWriteServiceImpl.java +++ b/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/server/LandscapeManagementWriteServiceImpl.java @@ -411,6 +411,7 @@ public class LandscapeManagementWriteServiceImpl extends ResultCachingProxiedRem private SailingApplicationReplicaSetDTO convertToSailingApplicationReplicaSetDTO( AwsApplicationReplicaSet> applicationServerReplicaSet, Optional optionalKeyName, byte[] privateKeyEncryptionPassphrase) throws Exception { + final Release release = applicationServerReplicaSet.getVersion(Landscape.WAIT_FOR_PROCESS_TIMEOUT, optionalKeyName, privateKeyEncryptionPassphrase); return new SailingApplicationReplicaSetDTO<>(applicationServerReplicaSet.getName(), convertToSailingAnalyticsProcessDTO(applicationServerReplicaSet.getMaster(), optionalKeyName, privateKeyEncryptionPassphrase), Util.map(applicationServerReplicaSet.getReplicas(), r->{ @@ -420,9 +421,8 @@ public class LandscapeManagementWriteServiceImpl extends ResultCachingProxiedRem throw new RuntimeException(e); } }), - applicationServerReplicaSet.getVersion(Landscape.WAIT_FOR_PROCESS_TIMEOUT, optionalKeyName, privateKeyEncryptionPassphrase).getName(), - applicationServerReplicaSet.getHostname(), getLandscapeService().getDefaultRedirectPath(applicationServerReplicaSet.getDefaultRedirectRule()), - applicationServerReplicaSet.getAutoScalingGroup() == null ? null : + release.getName(), release.getReleaseNotesURL().toString(), applicationServerReplicaSet.getHostname(), + getLandscapeService().getDefaultRedirectPath(applicationServerReplicaSet.getDefaultRedirectRule()), applicationServerReplicaSet.getAutoScalingGroup() == null ? null : applicationServerReplicaSet.getAutoScalingGroup().getLaunchTemplateDefaultVersion() == null ? null : applicationServerReplicaSet.getAutoScalingGroup().getLaunchTemplateDefaultVersion().launchTemplateData().imageId()); } @@ -655,9 +655,9 @@ public class LandscapeManagementWriteServiceImpl extends ResultCachingProxiedRem } }), release.getName(), + release.getReleaseNotesURL().toString(), getLandscapeService().getFullyQualifiedHostname(name, Optional.ofNullable(optionalDomainName)), - getLandscapeService().getDefaultRedirectPath(result.getDefaultRedirectRule()), - result.getAutoScalingGroup()==null?null:result.getAutoScalingGroup().getLaunchTemplateDefaultVersion().launchTemplateData().imageId()); + getLandscapeService().getDefaultRedirectPath(result.getDefaultRedirectRule()), result.getAutoScalingGroup()==null?null:result.getAutoScalingGroup().getLaunchTemplateDefaultVersion().launchTemplateData().imageId()); } @Override @@ -732,10 +732,9 @@ public class LandscapeManagementWriteServiceImpl extends ResultCachingProxiedRem } catch (Exception e) { throw new RuntimeException(e); } - }), release.getName(), + }), release.getName(), release.getReleaseNotesURL().toString(), getLandscapeService().getFullyQualifiedHostname(replicaSetName, Optional.ofNullable(optionalDomainName)), - getLandscapeService().getDefaultRedirectPath(result.getDefaultRedirectRule()), - result.getAutoScalingGroup()==null?null:result.getAutoScalingGroup().getLaunchTemplateDefaultVersion().launchTemplateData().imageId()); + getLandscapeService().getDefaultRedirectPath(result.getDefaultRedirectRule()), result.getAutoScalingGroup()==null?null:result.getAutoScalingGroup().getLaunchTemplateDefaultVersion().launchTemplateData().imageId()); } @Override @@ -859,9 +858,9 @@ public class LandscapeManagementWriteServiceImpl extends ResultCachingProxiedRem applicationReplicaSetToCreateLoadBalancerMappingFor.getMaster(), applicationReplicaSetToCreateLoadBalancerMappingFor.getReplicas(), applicationReplicaSetToCreateLoadBalancerMappingFor.getVersion(), + applicationReplicaSetToCreateLoadBalancerMappingFor.getReleaseNotesLink(), applicationReplicaSetToCreateLoadBalancerMappingFor.getHostname(), - RedirectDTO.toString(defaultRedirect.getPath(), defaultRedirect.getQuery()), - applicationReplicaSetToCreateLoadBalancerMappingFor.getAutoScalingGroupAmiId()); + RedirectDTO.toString(defaultRedirect.getPath(), defaultRedirect.getQuery()), applicationReplicaSetToCreateLoadBalancerMappingFor.getAutoScalingGroupAmiId()); } @Override @@ -908,8 +907,8 @@ public class LandscapeManagementWriteServiceImpl extends ResultCachingProxiedRem throw new RuntimeException(e); } }), - release.getName(), applicationReplicaSetToUpgrade.getHostname(), - applicationReplicaSetToUpgrade.getDefaultRedirectPath(), applicationReplicaSetToUpgrade.getAutoScalingGroupAmiId()); + release.getName(), release.getReleaseNotesURL().toString(), + applicationReplicaSetToUpgrade.getHostname(), applicationReplicaSetToUpgrade.getDefaultRedirectPath(), applicationReplicaSetToUpgrade.getAutoScalingGroupAmiId()); } @Override diff --git a/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/shared/SailingApplicationReplicaSetDTO.java b/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/shared/SailingApplicationReplicaSetDTO.java index 43a773d8085..406881fd26a 100755 --- a/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/shared/SailingApplicationReplicaSetDTO.java +++ b/java/com.sap.sailing.landscape.ui/src/com/sap/sailing/landscape/ui/shared/SailingApplicationReplicaSetDTO.java @@ -16,6 +16,7 @@ public class SailingApplicationReplicaSetDTO implements Named, IsSe private SailingAnalyticsProcessDTO master; private ArrayList replicas; private String version; + private String releaseNotesLink; private String hostname; private String defaultRedirectPath; private String autoScalingGroupAmiId; @@ -24,7 +25,8 @@ public class SailingApplicationReplicaSetDTO implements Named, IsSe SailingApplicationReplicaSetDTO() {} // for GWT RPC serialization only public SailingApplicationReplicaSetDTO(String replicaSetName, SailingAnalyticsProcessDTO master, - Iterable replicas, String version, String hostname, String defaultRedirectPath, String autoScalingGroupAmiId) { + Iterable replicas, String version, String releaseNotesLink, String hostname, + String defaultRedirectPath, String autoScalingGroupAmiId) { super(); this.master = master; this.replicaSetName = replicaSetName; @@ -59,6 +61,10 @@ public class SailingApplicationReplicaSetDTO implements Named, IsSe return version; } + public String getReleaseNotesLink() { + return releaseNotesLink; + } + /** * @return a fully-qualified hostname which can, e.g., be used to look up the load balancer taking the requests for * this application replica set. diff --git a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/SailingReleaseRepository.java b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/SailingReleaseRepository.java index dd33a652578..7277a29d3c4 100755 --- a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/SailingReleaseRepository.java +++ b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/SailingReleaseRepository.java @@ -1,8 +1,11 @@ package com.sap.sailing.landscape; import com.sap.sse.landscape.ReleaseRepository; -import com.sap.sse.landscape.impl.ReleaseRepositoryImpl; +import com.sap.sse.landscape.impl.GithubReleasesRepository; public interface SailingReleaseRepository extends ReleaseRepository { - ReleaseRepository INSTANCE = new ReleaseRepositoryImpl("https://releases.sapsailing.com", /* master release name prefix */ "main"); + ReleaseRepository INSTANCE = new GithubReleasesRepository( + "SAP", // owner + "sailing-analytics", // repo name + "main"); // main release name prefix } diff --git a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/LandscapeServiceImpl.java b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/LandscapeServiceImpl.java index 33b2d17e7db..a3ad2545d38 100644 --- a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/LandscapeServiceImpl.java +++ b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/LandscapeServiceImpl.java @@ -801,7 +801,7 @@ public class LandscapeServiceImpl implements LandscapeService { @Override public Release getRelease(String releaseNameOrNullForLatestMaster) { return releaseNameOrNullForLatestMaster==null - ? SailingReleaseRepository.INSTANCE.getLatestMasterRelease() + ? SailingReleaseRepository.INSTANCE.getLatestDefaultRelease() : SailingReleaseRepository.INSTANCE.getRelease(releaseNameOrNullForLatestMaster); } diff --git a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/SailingAnalyticsProcessImpl.java b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/SailingAnalyticsProcessImpl.java index 8ca6f878508..5c4725a7ada 100755 --- a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/SailingAnalyticsProcessImpl.java +++ b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/impl/SailingAnalyticsProcessImpl.java @@ -38,7 +38,6 @@ import com.sap.sse.landscape.aws.ApplicationProcessHost; import com.sap.sse.landscape.aws.AwsLandscape; import com.sap.sse.landscape.aws.MongoUriParser; import com.sap.sse.landscape.aws.impl.AwsApplicationProcessImpl; -import com.sap.sse.landscape.impl.ReleaseImpl; import com.sap.sse.landscape.mongodb.Database; import com.sap.sse.shared.util.Wait; import com.sap.sse.util.HttpUrlConnectionHelper; @@ -102,7 +101,7 @@ implements SailingAnalyticsProcess { private boolean updateReleaseFromStatus(JSONObject status) { final boolean success; if (status.containsKey(STATUS_RELEASE_PROPERTY_NAME)) { - release = new ReleaseImpl((String) status.get(STATUS_RELEASE_PROPERTY_NAME), SailingReleaseRepository.INSTANCE); + release = SailingReleaseRepository.INSTANCE.getRelease((String) status.get(STATUS_RELEASE_PROPERTY_NAME)); success = true; } else { success = false; diff --git a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/procedures/SailingAnalyticsApplicationConfiguration.java b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/procedures/SailingAnalyticsApplicationConfiguration.java index aefad843561..f888c1b4c06 100755 --- a/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/procedures/SailingAnalyticsApplicationConfiguration.java +++ b/java/com.sap.sailing.landscape/src/com/sap/sailing/landscape/procedures/SailingAnalyticsApplicationConfiguration.java @@ -34,7 +34,7 @@ extends AwsApplicationConfigurationIf no {@link #setTelnetPort(int) telnet port} is provided, the {@link #DEFAULT_TELNET_PORT} is used (14888). *
  • If no {@link #setExpeditionPort(int) expedition UDP port} is provided, the {@link #DEFAULT_EXPEDITION_PORT} is used (2010).
  • *
  • If no {@link #setServerDirectory(String) server directory} is specified, it defaults to {@link ApplicationProcessHost#DEFAULT_SERVER_PATH}.
  • - *
  • If no {@link #setRelease(Release) release} is specified, it defaults to {@link SailingReleaseRepository#getLatestMasterRelease()}.
  • + *
  • If no {@link #setRelease(Release) release} is specified, it defaults to {@link SailingReleaseRepository#getLatestDefaultRelease()}.
  • *
  • The {@link DefaultProcessConfigurationVariables#ADDITIONAL_JAVA_ARGS} variable is extended by system properties that configure * security, landscape data, and basic sailing master data to be shared across the {@link SharedLandscapeConstants#DEFAULT_DOMAIN_NAME} domain.
  • * @@ -145,7 +145,7 @@ extends AwsApplicationConfiguration getRelease() { - return Optional.of(super.getRelease().orElse(SailingReleaseRepository.INSTANCE.getLatestMasterRelease())); + return Optional.of(super.getRelease().orElse(SailingReleaseRepository.INSTANCE.getLatestDefaultRelease())); } /** diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/SwissTimingConnectivityParamsLoadAndStoreTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/SwissTimingConnectivityParamsLoadAndStoreTest.java index bc28e7d3a59..c486d4697b4 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/SwissTimingConnectivityParamsLoadAndStoreTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/SwissTimingConnectivityParamsLoadAndStoreTest.java @@ -56,7 +56,7 @@ public class SwissTimingConnectivityParamsLoadAndStoreTest extends AbstractConne hostname, port, raceID, raceName, raceDescription, boatClass, startList, delayToLiveInMillis, SwissTimingFactory.INSTANCE, new SwissTimingAdapterFactoryImpl().getOrCreateSwissTimingAdapter(domainObjectFactory.getBaseDomainFactory()).getSwissTimingDomainFactory(), /* raceLogStore */ null, /* regattaLogStore */ null, useInternalMarkPassingAlgorithm, trackWind, correctWindDirectionByMagneticDeclination, - /* updateURL */ null, /* updateUsername */ null, /* updatePassword */ null, eventName, manage2SailEventUrl); + /* updateURL */ null, /* apiToken */ null, eventName, manage2SailEventUrl); // store mongoObjectFactory.addConnectivityParametersForRaceToRestore(stParams); // load @@ -111,7 +111,7 @@ public class SwissTimingConnectivityParamsLoadAndStoreTest extends AbstractConne hostname, port, raceID, raceName, raceDescription, boatClass, startList, delayToLiveInMillis, SwissTimingFactory.INSTANCE, new SwissTimingAdapterFactoryImpl().getOrCreateSwissTimingAdapter(domainObjectFactory.getBaseDomainFactory()).getSwissTimingDomainFactory(), /* raceLogStore */ null, /* regattaLogStore */ null, useInternalMarkPassingAlgorithm, trackWind, correctWindDirectionByMagneticDeclination, - /* updateURL */ null, /* updateUsername */ null, /* updatePassword */ null, eventName, manage2SailEventUrl); + /* updateURL */ null, /* updateApiToken */ null, eventName, manage2SailEventUrl); // store mongoObjectFactory.addConnectivityParametersForRaceToRestore(stParams); // load diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java index 0dc3d165429..5a3f5a4d9ec 100755 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TestStoringAndRetrievingWindTracksTest.java @@ -93,7 +93,7 @@ public class TestStoringAndRetrievingWindTracksTest extends AbstractTracTracLive public void addRaceDefinition(RaceDefinition race, DynamicTrackedRace trackedRace) { } }, /* trackedRegattaRegistry */ null, mock(RaceLogAndTrackedRaceResolver.class), /* markPassingRaceFingerprintRegistry */ null, - mock(LeaderboardGroupResolver.class), /*courseDesignUpdateURI*/ null, /*tracTracUsername*/ null, /*tracTracPassword*/ null, getEventSubscriber(), getRaceSubscriber(), /*ignoreTracTracMarkPassings*/ false, + mock(LeaderboardGroupResolver.class), /*courseDesignUpdateURI*/ null, /*tracTracApiToken*/ null, getEventSubscriber(), getRaceSubscriber(), /*ignoreTracTracMarkPassings*/ false, RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, new DefaultRaceTrackingHandler(), /* raceAndCompetitorStatusWithRaceLogReconciler */ null, ReceiverType.RACECOURSE); addListenersForStoredDataAndStartController(typeControllers); for (final Receiver receiver : typeControllers) { diff --git a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TracTracConnectivityParamsLoadAndStoreTest.java b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TracTracConnectivityParamsLoadAndStoreTest.java index 9226b59dc79..1ee52b93963 100644 --- a/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TracTracConnectivityParamsLoadAndStoreTest.java +++ b/java/com.sap.sailing.mongodb.test/src/com/sap/sailing/mongodb/test/TracTracConnectivityParamsLoadAndStoreTest.java @@ -12,6 +12,7 @@ import java.util.Set; import org.junit.jupiter.api.Test; import com.mongodb.MongoException; +import com.sap.sailing.domain.test.AbstractTracTracLiveTest; import com.sap.sailing.domain.tracking.RaceTracker; import com.sap.sailing.domain.tracking.RaceTrackingConnectivityParameters; import com.sap.sailing.domain.tractracadapter.DomainFactory; @@ -40,14 +41,13 @@ public class TracTracConnectivityParamsLoadAndStoreTest extends AbstractConnecti final long delayToLiveInMillis = 3000; final Duration offsetToStartTimeOfSimulatedRace = Duration.ONE_MINUTE; final boolean useInternalMarkPassingAlgorithm = false; - final String tracTracUsername = "user"; - final String tracTracPassword = "pass"; + final String tracTracApiToken = AbstractTracTracLiveTest.getTracTracApiToken(); final String raceStatus = (String) TracTracConnectionConstants.REPLAY_STATUS; final String raceVisibility = (String) TracTracConnectionConstants.REPLAY_VISIBILITY; final RaceTrackingConnectivityParameters tracTracParams = new RaceTrackingConnectivityParametersImpl( paramURL, /* live URI */ null, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, delayToLiveInMillis, offsetToStartTimeOfSimulatedRace, useInternalMarkPassingAlgorithm, - /* raceLogStore */ null, /* regattaLogStore */ null, DomainFactory.INSTANCE, tracTracUsername, tracTracPassword, + /* raceLogStore */ null, /* regattaLogStore */ null, DomainFactory.INSTANCE, tracTracApiToken, raceStatus, raceVisibility, trackWind, correctWindDirectionByMagneticDeclination, /* preferReplayIfAvailable */ false, /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, /* useOfficialEventsToUpdateRaceLog */ true, /* liveURIFromConfiguration */ null, /* storedURIFromConfiguration */ null); @@ -70,8 +70,7 @@ public class TracTracConnectivityParamsLoadAndStoreTest extends AbstractConnecti assertEquals(endOfTracking, tracTracParamsReadFromDB.getEndOfTracking()); assertEquals(offsetToStartTimeOfSimulatedRace, tracTracParamsReadFromDB.getOffsetToStartTimeOfSimulatedRace()); assertEquals(useInternalMarkPassingAlgorithm, tracTracParamsReadFromDB.isUseInternalMarkPassingAlgorithm()); - assertEquals(tracTracUsername, tracTracParamsReadFromDB.getTracTracUsername()); - assertEquals(tracTracPassword, tracTracParamsReadFromDB.getTracTracPassword()); + assertEquals(tracTracApiToken, tracTracParamsReadFromDB.getTracTracApiToken()); assertEquals(raceStatus, tracTracParamsReadFromDB.getRaceStatus()); assertEquals(raceVisibility, tracTracParamsReadFromDB.getRaceVisibility()); assertEquals(tracTracParams.getTrackerID(), tracTracParamsReadFromDB.getTrackerID()); diff --git a/java/com.sap.sailing.selenium.test/META-INF/MANIFEST.MF b/java/com.sap.sailing.selenium.test/META-INF/MANIFEST.MF index a1c41ff5e74..43c6717e1bb 100644 --- a/java/com.sap.sailing.selenium.test/META-INF/MANIFEST.MF +++ b/java/com.sap.sailing.selenium.test/META-INF/MANIFEST.MF @@ -30,6 +30,7 @@ Import-Package: com.google.protobuf;version="[4.28.0,5.0.0)", com.sap.sailing.domain.igtimiadapter.impl, com.sap.sailing.domain.igtimiadapter.server.riot, com.sap.sailing.domain.igtimiadapter.websocket, + com.sap.sailing.domain.test, com.sap.sailing.domain.tracking, com.sap.sailing.landscape.common, com.sap.sailing.server.security, diff --git a/java/com.sap.sailing.selenium.test/local-test-environment-axel.xml b/java/com.sap.sailing.selenium.test/local-test-environment-axel.xml new file mode 100644 index 00000000000..ff423366aa8 --- /dev/null +++ b/java/com.sap.sailing.selenium.test/local-test-environment-axel.xml @@ -0,0 +1,115 @@ + + + + + + + http://localhost:8888/ + + ./bin/surefire-reports/ + + + + + + webdriver.chrome.driver + /usr/bin/chromedriver + + + + webdriver.gecko.driver + /usr/bin/geckodriver + + + + + + + + + + + + + + + + + + + diff --git a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/core/DockerChromeDriver.java b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/core/DockerChromeDriver.java new file mode 100644 index 00000000000..2e4cc973187 --- /dev/null +++ b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/core/DockerChromeDriver.java @@ -0,0 +1,29 @@ +package com.sap.sailing.selenium.core; + +import org.openqa.selenium.Capabilities; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.chrome.ChromeDriverService; +import org.openqa.selenium.chrome.ChromeOptions; + +/** + * Specific {@link ChromeDriver} that is configured to start Chrome without GPU support and without extensions. + * This is helpful when running, e.g., in a Docker environment where full-fledged UI support is not given. + */ +public class DockerChromeDriver extends ChromeDriver { + + public DockerChromeDriver(Capabilities capabilities) { + super(ChromeDriverService.createDefaultService(), constructChromeOptions(capabilities)); + } + + private static ChromeOptions constructChromeOptions(Capabilities capabilities) { + final ChromeOptions chromeOptions = new ChromeOptions(); + chromeOptions.merge(capabilities); + chromeOptions.addArguments("--disable-gpu", "--disable-extensions", "--window-size=1440,900"); + chromeOptions.addArguments("--no-sandbox"); + chromeOptions.addArguments("--disable-dev-shm-usage"); + chromeOptions.addArguments("--remote-debugging-address=0.0.0.0"); + chromeOptions.addArguments("--remote-debugging-port=9222"); + chromeOptions.setExperimentalOption("useAutomationExtension", false); + return chromeOptions; + } +} diff --git a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/AddTracTracConnectionDialogPO.java b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/AddTracTracConnectionDialogPO.java index 51c6fedc7f2..3b7109bf40e 100644 --- a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/AddTracTracConnectionDialogPO.java +++ b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/AddTracTracConnectionDialogPO.java @@ -18,6 +18,9 @@ public class AddTracTracConnectionDialogPO extends DataEntryDialogPO { @FindBy(how = BySeleniumId.class, using = "JsonURLTextBox") private WebElement jsonURLTextBox; + + @FindBy(how = BySeleniumId.class, using = "TracTracApiTokenTextBox") + private WebElement tracTracApiTokenTextBox; protected AddTracTracConnectionDialogPO(WebDriver driver, WebElement element) { super(driver, element); @@ -27,4 +30,9 @@ public class AddTracTracConnectionDialogPO extends DataEntryDialogPO { jsonURLTextBox.clear(); jsonURLTextBox.sendKeys(jsonUrl); } + + public void setTracTracApiToken(String tracTracApiToken) { + tracTracApiTokenTextBox.clear(); + tracTracApiTokenTextBox.sendKeys(tracTracApiToken); + } } diff --git a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/TracTracEventManagementPanelPO.java b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/TracTracEventManagementPanelPO.java index ff8f9e20c0a..5c01d3bc5f7 100644 --- a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/TracTracEventManagementPanelPO.java +++ b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/TracTracEventManagementPanelPO.java @@ -15,6 +15,7 @@ import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.Select; import com.sap.sailing.domain.common.BoatClassMasterdata; +import com.sap.sailing.domain.test.AbstractTracTracLiveTest; import com.sap.sailing.selenium.core.BySeleniumId; import com.sap.sailing.selenium.core.FindBy; import com.sap.sailing.selenium.pages.PageArea; @@ -122,6 +123,7 @@ public class TracTracEventManagementPanelPO extends PageArea { public void addConnectionAndListTrackableRaces(String url) { AddTracTracConnectionDialogPO dialog = addConnection(); dialog.setJsonUrl(url); + dialog.setTracTracApiToken(AbstractTracTracLiveTest.getTracTracApiToken()); dialog.pressOk(); listRacesForExistingConnection(url); } diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceBoatCompetitorMetadataReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceBoatCompetitorMetadataReplicationTest.java index ff8be5ff361..f42a8104d7a 100644 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceBoatCompetitorMetadataReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceBoatCompetitorMetadataReplicationTest.java @@ -64,8 +64,7 @@ public class TrackRaceBoatCompetitorMetadataReplicationTest extends AbstractServ URI liveURI = AbstractTracTracLiveTest.getLiveURI(); URI storedURI = AbstractTracTracLiveTest.getStoredURI(); URI courseDesignUpdateURI = AbstractTracTracLiveTest.getCourseDesignUpdateURI(); - String tracTracUsername = AbstractTracTracLiveTest.getTracTracUsername(); - String tracTracPassword = AbstractTracTracLiveTest.getTracTracPassword(); + String tracTracApiToken = AbstractTracTracLiveTest.getTracTracApiToken(); GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC")); cal.set(2015, 8, 22, 9, 23, 57); MillisecondsTimePoint startOfTracking = new MillisecondsTimePoint(cal.getTimeInMillis()); @@ -86,7 +85,7 @@ public class TrackRaceBoatCompetitorMetadataReplicationTest extends AbstractServ .createTrackingConnectivityParameters(paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, /* delayToLiveInMillis */ 0l, /* offsetToStartTimeOfSimulatedRace */null, /*ignoreTracTracMarkPassings*/ false, EmptyRaceLogStore.INSTANCE, - EmptyRegattaLogStore.INSTANCE, tracTracUsername, tracTracPassword, "", "", /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ false, + EmptyRegattaLogStore.INSTANCE, tracTracApiToken, "", "", /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ false, /* preferReplayIfAvailable */ false, /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, /* useOfficialEventsToUpdateRaceLog */ false, /* liveURIFromConfiguration */ null, /* storedURIFromConfiguration */ null); } diff --git a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java index 4e810a2fac9..f510e551fa9 100755 --- a/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java +++ b/java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java @@ -79,8 +79,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { URI liveURI = AbstractTracTracLiveTest.getLiveURI(); URI storedURI = AbstractTracTracLiveTest.getStoredURI(); URI courseDesignUpdateURI = AbstractTracTracLiveTest.getCourseDesignUpdateURI(); - String tracTracUsername = AbstractTracTracLiveTest.getTracTracUsername(); - String tracTracPassword = AbstractTracTracLiveTest.getTracTracPassword(); + String tracTracApiToken = AbstractTracTracLiveTest.getTracTracApiToken(); GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC")); cal.set(2011, 05, 23, 13, 14, 31); MillisecondsTimePoint startOfTracking = new MillisecondsTimePoint(cal.getTimeInMillis()); @@ -101,7 +100,7 @@ public class TrackRaceReplicationTest extends AbstractServerReplicationTest { .createTrackingConnectivityParameters(paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, /* delayToLiveInMillis */ 0l, /* offsetToStartTimeOfSimulatedRace */null, /*ignoreTracTracMarkPassings*/ false, EmptyRaceLogStore.INSTANCE, - EmptyRegattaLogStore.INSTANCE, tracTracUsername, tracTracPassword, "", "", /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ false, + EmptyRegattaLogStore.INSTANCE, tracTracApiToken, "", "", /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ false, /* preferReplayIfAvailable */ false, /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, /* useOfficialEventsToUpdateRaceLog */ false, /* liveURIFromConfiguration */ null, /* storedURIFromConfiguration */ null); } diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/AutomaticRetrackUponCompetitorSetChangeTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/AutomaticRetrackUponCompetitorSetChangeTest.java index b6ccce407eb..b5f429df54c 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/AutomaticRetrackUponCompetitorSetChangeTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/AutomaticRetrackUponCompetitorSetChangeTest.java @@ -150,8 +150,7 @@ public class AutomaticRetrackUponCompetitorSetChangeTest { URI liveURI = AbstractTracTracLiveTest.getLiveURI(); URI storedURI = new URI("http://event.tractrac.com/events/event_20150818_Bundesliga/datafiles/4c54e750-27c2-0133-5064-60a44ce903c3.mtb"); URI courseDesignUpdateURI = AbstractTracTracLiveTest.getCourseDesignUpdateURI(); - String tracTracUsername = AbstractTracTracLiveTest.getTracTracUsername(); - String tracTracPassword = AbstractTracTracLiveTest.getTracTracPassword(); + String tracTracApiToken = AbstractTracTracLiveTest.getTracTracApiToken(); GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC")); cal.set(2015, 8, 22, 9, 23, 57); MillisecondsTimePoint startOfTracking = new MillisecondsTimePoint(cal.getTimeInMillis()); @@ -161,7 +160,7 @@ public class AutomaticRetrackUponCompetitorSetChangeTest { .createTrackingConnectivityParameters(paramURL, liveURI, storedURI, courseDesignUpdateURI, startOfTracking, endOfTracking, /* delayToLiveInMillis */ 0l, /* offsetToStartTimeOfSimulatedRace */null, /*ignoreTracTracMarkPassings*/ false, EmptyRaceLogStore.INSTANCE, - EmptyRegattaLogStore.INSTANCE, tracTracUsername, tracTracPassword, "", "", /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ false, + EmptyRegattaLogStore.INSTANCE, tracTracApiToken, "", "", /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ false, /* preferReplayIfAvailable */ false, /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, /* useOfficialEventsToUpdateRaceLog */ false, /* liveURIFromConfiguration */ null, /* storedURIFromConfiguration */ null); racesHandle = service.addRace(/* regattaToAddTo */ regattaIdentifier, trackingParams, /* timeoutInMilliseconds */ 60000, diff --git a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java index b6d09176f96..39927b5ecd5 100755 --- a/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java +++ b/java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/RaceTrackerTest.java @@ -18,6 +18,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import com.sap.sailing.domain.base.RaceDefinition; +import com.sap.sailing.domain.test.AbstractTracTracLiveTest; import com.sap.sailing.domain.racelog.impl.EmptyRaceLogStore; import com.sap.sailing.domain.regattalog.impl.EmptyRegattaLogStore; import com.sap.sailing.domain.tracking.RaceHandle; @@ -39,8 +40,7 @@ public class RaceTrackerTest { private final URI liveUri; private final URI storedUri; private final URI courseDesignUpdateUri; - private final String tracTracUsername; - private final String tracTracPassword; + private final String tracTracApiToken; private RacingEventServiceImpl service; private RaceHandle raceHandle; private TracTracAdapterFactoryImpl tracTracAdapterFactory; @@ -61,10 +61,8 @@ public class RaceTrackerTest { liveUri = new URI("tcp://" + TracTracConnectionConstants.HOST_NAME + ":" + TracTracConnectionConstants.PORT_LIVE); storedUri = new URI("tcp://" + TracTracConnectionConstants.HOST_NAME + ":" + TracTracConnectionConstants.PORT_STORED); } - courseDesignUpdateUri = new URI("http://tracms.traclive.dk/update_course"); - tracTracUsername = "tracTest"; - tracTracPassword = "tracTest"; + tracTracApiToken = AbstractTracTracLiveTest.getTracTracApiToken(); } @BeforeEach @@ -74,11 +72,11 @@ public class RaceTrackerTest { tracTracAdapterFactory = new TracTracAdapterFactoryImpl(); raceHandle = tracTracAdapterFactory.getOrCreateTracTracAdapter(service.getBaseDomainFactory()).addTracTracRace( service, paramUrl, liveUri, storedUri, courseDesignUpdateUri, EmptyRaceLogStore.INSTANCE, - EmptyRegattaLogStore.INSTANCE, /* timeoutInMilliseconds */60000, tracTracUsername, tracTracPassword, - TracTracConnectionConstants.ONLINE_STATUS, TracTracConnectionConstants.ONLINE_VISIBILITY, - /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ false, - /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, - /* useOfficialEventsToUpdateRaceLog */ false, new DefaultRaceTrackingHandler()); + EmptyRegattaLogStore.INSTANCE, /* timeoutInMilliseconds */60000, tracTracApiToken, TracTracConnectionConstants.ONLINE_STATUS, + TracTracConnectionConstants.ONLINE_VISIBILITY, /* trackWind */ false, + /* correctWindDirectionByMagneticDeclination */ false, /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, + /* useOfficialEventsToUpdateRaceLog */ false, + new DefaultRaceTrackingHandler()); logger.info("Calling raceHandle.getRaces()"); RaceDefinition race = raceHandle.getRace(); // wait for RaceDefinition to be completely wired in Regatta logger.info("Obtained race: "+race); @@ -135,10 +133,10 @@ public class RaceTrackerTest { RaceHandle myRaceHandle = tracTracAdapterFactory.getOrCreateTracTracAdapter(service.getBaseDomainFactory()) .addTracTracRace(service, paramUrl, liveUri, storedUri, courseDesignUpdateUri, EmptyRaceLogStore.INSTANCE, EmptyRegattaLogStore.INSTANCE, /* timeoutInMilliseconds */60000, - tracTracUsername, tracTracPassword, TracTracConnectionConstants.ONLINE_STATUS, - TracTracConnectionConstants.ONLINE_VISIBILITY, /* trackWind */ false, - /* correctWindDirectionByMagneticDeclination */ false, /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, - /* useOfficialEventsToUpdateRaceLog */ false, new DefaultRaceTrackingHandler()); + tracTracApiToken, TracTracConnectionConstants.ONLINE_STATUS, TracTracConnectionConstants.ONLINE_VISIBILITY, + /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ false, + /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, /* useOfficialEventsToUpdateRaceLog */ false, + new DefaultRaceTrackingHandler()); TrackedRegatta newTrackedRegatta = myRaceHandle.getTrackedRegatta(); assertNotSame(oldTrackedRegatta, newTrackedRegatta); TrackedRace newTrackedRace = getTrackedRace(newTrackedRegatta); @@ -165,10 +163,10 @@ public class RaceTrackerTest { RaceHandle myRaceHandle = tracTracAdapterFactory.getOrCreateTracTracAdapter(service.getBaseDomainFactory()) .addTracTracRace(service, paramUrl, liveUri, storedUri, courseDesignUpdateUri, EmptyRaceLogStore.INSTANCE, EmptyRegattaLogStore.INSTANCE, /* timeoutInMilliseconds */60000, - tracTracUsername, tracTracPassword, TracTracConnectionConstants.ONLINE_STATUS, - TracTracConnectionConstants.ONLINE_VISIBILITY, /* trackWind */ false, - /* correctWindDirectionByMagneticDeclination */ false, /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, - /* useOfficialEventsToUpdateRaceLog */ false, new DefaultRaceTrackingHandler()); + tracTracApiToken, TracTracConnectionConstants.ONLINE_STATUS, TracTracConnectionConstants.ONLINE_VISIBILITY, + /* trackWind */ false, /* correctWindDirectionByMagneticDeclination */ false, + /* timeoutInMillis */ (int) RaceTracker.TIMEOUT_FOR_RECEIVING_RACE_DEFINITION_IN_MILLISECONDS, /* useOfficialEventsToUpdateRaceLog */ false, + new DefaultRaceTrackingHandler()); TrackedRegatta newTrackedEvent = myRaceHandle.getTrackedRegatta(); TrackedRace newTrackedRace = getTrackedRace(newTrackedEvent); // expecting a new tracked race to be created when starting over with tracking diff --git a/java/com.sap.sailing.server/SailingServer (No Proxy, winddbTest Axel).launch b/java/com.sap.sailing.server/SailingServer (No Proxy, winddbTest Axel).launch index 9fd87cab269..8e63544ddb5 100755 --- a/java/com.sap.sailing.server/SailingServer (No Proxy, winddbTest Axel).launch +++ b/java/com.sap.sailing.server/SailingServer (No Proxy, winddbTest Axel).launch @@ -17,7 +17,11 @@ +<<<<<<< HEAD +======= + +>>>>>>> main @@ -27,231 +31,228 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<<<<<<< HEAD @@ -376,6 +377,129 @@ +======= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>>>>>>> main diff --git a/java/com.sap.sailing.server/SailingServer (No Proxy, winddbTest).launch b/java/com.sap.sailing.server/SailingServer (No Proxy, winddbTest).launch index 12aa1d3ac63..0464423e3a0 100755 --- a/java/com.sap.sailing.server/SailingServer (No Proxy, winddbTest).launch +++ b/java/com.sap.sailing.server/SailingServer (No Proxy, winddbTest).launch @@ -34,231 +34,228 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<<<<<<< HEAD @@ -383,6 +380,129 @@ +======= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>>>>>>> main diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/security/EventManagerRole.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/security/EventManagerRole.java index 3682aa1e443..fbccdb5c600 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/security/EventManagerRole.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/security/EventManagerRole.java @@ -13,7 +13,6 @@ import com.sap.sse.security.shared.impl.SecuredSecurityTypes.ServerActions; * server infrastructure configuration. */ public class EventManagerRole extends RolePrototype { - private static final long serialVersionUID = 6775068846340911064L; private static final EventManagerRole INSTANCE = new EventManagerRole(); EventManagerRole() { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/security/SailingViewerRole.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/security/SailingViewerRole.java index db26fc0e73a..46adf8b7bc2 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/security/SailingViewerRole.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/security/SailingViewerRole.java @@ -11,8 +11,6 @@ import com.sap.sse.security.shared.impl.SecuredSecurityTypes; * page and basic analytical frontends. */ public class SailingViewerRole extends RolePrototype { - private static final long serialVersionUID = 3291793984984443193L; - private static final SailingViewerRole INSTANCE = new SailingViewerRole(); SailingViewerRole() { diff --git a/java/com.sap.sailing.www/release_notes_admin.html b/java/com.sap.sailing.www/release_notes_admin.html index 5b61ad810a3..98a4d794c94 100755 --- a/java/com.sap.sailing.www/release_notes_admin.html +++ b/java/com.sap.sailing.www/release_notes_admin.html @@ -23,11 +23,34 @@

    Release Notes - Administration Console

    +

    November 2025

    +
      +
    • The Landscape Management panel as well as the refreshInstance.sh shell script + now use GitHub releases instead of releases.sapsailing.com to list and install + latest or specific releases to an environment. In particular, refreshInstance.sh + considers the newest 100 releases; the Landscape Management panel can list, select, + and install all releases available. For the time being, and for simplicity, + we decided to not require a GitHub access token, which however will cause a rate limit + of 60 release requests per hour per IP address.
    • +

    October 2025

    • When WindBots sent buffered data, e.g., from previous days, there was a possibility that under some circumstances this data may have interfered with live data, leading, e.g., to "jumping" WindBot positions. This has now been fixed.

      +

    • Upgraded the TracAPI to version 5.0.0. This version now secures access to TracTrac events + with a new authentication and authorization scheme based on API tokens that are used + to authenticate users. TracTrac can then authorize those users for read or read/write + access to specific events. Such API tokens can be obtained from the new version of + the TracTrac event manager.

      + The API token also replaces the username/password authentication scheme for the update + back channel from which TracTrac can optionally receive updates coming from the Race + Manager app, such as race start times, race aborts, or course configurations.

      + Use the new "Test Connection" button in the dialog for editing TracTrac connections + to check your token's validity. If you see permission "rest_api" in the response, you're good + for reading/receiving data. If you also see permission "rest_api_write" then you can also update + the event through the API, e.g., through update handlers that send race start times + and course updates.

    • For the following system properties, alternative environment variables have been introduced:
      • AWS_S3_TEST_S3ACCESSID for aws.s3.test.s3AccessId
      • diff --git a/java/com.sap.sse.datamining.ui/src/main/resources/com/sap/sse/datamining/SSEDataMining.gwt.xml b/java/com.sap.sse.datamining.ui/src/main/resources/com/sap/sse/datamining/SSEDataMining.gwt.xml index 8332692a944..9b9fa7d18af 100644 --- a/java/com.sap.sse.datamining.ui/src/main/resources/com/sap/sse/datamining/SSEDataMining.gwt.xml +++ b/java/com.sap.sse.datamining.ui/src/main/resources/com/sap/sse/datamining/SSEDataMining.gwt.xml @@ -12,6 +12,7 @@ - + + diff --git a/java/com.sap.sse.gwt.test/.settings/com.gwtplugins.gwt.eclipse.core.prefs b/java/com.sap.sse.gwt.test/.settings/com.gwtplugins.gwt.eclipse.core.prefs index b502e24c2f7..a7840d9807e 100644 --- a/java/com.sap.sse.gwt.test/.settings/com.gwtplugins.gwt.eclipse.core.prefs +++ b/java/com.sap.sse.gwt.test/.settings/com.gwtplugins.gwt.eclipse.core.prefs @@ -1,4 +1,4 @@ -//gwtVersion_/com.google.gwt.user/lib= +//gwtVersion_/com.google.gwt.user/lib=2.11.1 //gwtVersion_/opt/gwt-2.11.0=2.11.0 //gwtVersion_/opt/gwt-2.11.1=2.11.1 //gwtVersion_/opt/gwt-2.12.2=2.12.2 diff --git a/java/com.sap.sse.gwt/.settings/com.gwtplugins.gwt.eclipse.core.prefs b/java/com.sap.sse.gwt/.settings/com.gwtplugins.gwt.eclipse.core.prefs index b502e24c2f7..a7840d9807e 100644 --- a/java/com.sap.sse.gwt/.settings/com.gwtplugins.gwt.eclipse.core.prefs +++ b/java/com.sap.sse.gwt/.settings/com.gwtplugins.gwt.eclipse.core.prefs @@ -1,4 +1,4 @@ -//gwtVersion_/com.google.gwt.user/lib= +//gwtVersion_/com.google.gwt.user/lib=2.11.1 //gwtVersion_/opt/gwt-2.11.0=2.11.0 //gwtVersion_/opt/gwt-2.11.1=2.11.1 //gwtVersion_/opt/gwt-2.12.2=2.12.2 diff --git a/java/com.sap.sse.landscape.aws.test/src/com/sap/sse/landscape/aws/ConnectivityTest.java b/java/com.sap.sse.landscape.aws.test/src/com/sap/sse/landscape/aws/ConnectivityTest.java index 387e297fcb3..987f5407e60 100755 --- a/java/com.sap.sse.landscape.aws.test/src/com/sap/sse/landscape/aws/ConnectivityTest.java +++ b/java/com.sap.sse.landscape.aws.test/src/com/sap/sse/landscape/aws/ConnectivityTest.java @@ -267,7 +267,7 @@ public class ConnectivityTest; rel=\"next\", ; rel=\"last\"")); + } + + @Test + public void testLinkToNextPageFromMiddleWith100PerPage() { + assertEquals("https://api.github.com/repositories/790295432/releases?per_page=100&page=5", + repository.getNextPageURL("; rel=\"prev\", ; rel=\"next\", ; rel=\"last\", ; rel=\"first\"")); + } + + @Test + public void testLinkToNextPageFromLaste() { + assertNull( + repository.getNextPageURL("; rel=\"prev\", ; rel=\"first\"")); + } + + @Disabled("Goes against a harsh GitHub rate limit of 60 requests per hour, so enable only for one-time manual tests") + @Test + public void testOldDocker17ReleaseExists() { + assertFalse(Util.isEmpty(Util.filter(repository, release->release.getName().equals("docker-17-202404262046")))); + } + + @Test + public void testConcurrentAccess() throws InterruptedException, ExecutionException { + final ScheduledExecutorService threadPool = ThreadPoolUtil.INSTANCE.createForegroundTaskThreadPoolExecutor(10, getClass().getName()+":testConcurrentAccess()"); + final Map> futures = new HashMap<>(); + final String[] prefixes = new String[] { "main", "docker-25", "docker-24", "docker-21", "docker-17" }; + for (final String prefix : prefixes) { + futures.put(prefix, threadPool.submit(()->repository.getLatestRelease(prefix))); + } + for (final String prefix : prefixes) { + assertNotNull(futures.get(prefix).get()); + assertEquals(prefix, futures.get(prefix).get().getBaseName()); + } + threadPool.shutdown(); + } +} diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/Release.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/Release.java index 7e849b3ddbb..4c3692383e6 100755 --- a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/Release.java +++ b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/Release.java @@ -1,9 +1,13 @@ package com.sap.sse.landscape; -import java.net.MalformedURLException; import java.net.URL; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Map; +import java.util.TimeZone; +import java.util.logging.Level; +import java.util.logging.Logger; import com.sap.sse.common.Named; import com.sap.sse.common.TimePoint; @@ -15,26 +19,30 @@ import com.sap.sse.common.TimePoint; * */ public interface Release extends UserDataProvider, Named { + Logger logger = Logger.getLogger(Release.class.getName()); + String RELEASE_NOTES_FILE_NAME = "release-notes.txt"; String ARCHIVE_EXTENSION = ".tar.gz"; - ReleaseRepository getRepository(); - - String getBaseName(); - - TimePoint getCreationDate(); - - default String getFolderURL() { - return getRepository().getRepositoryBase()+"/"+getName()+"/"; + default String getBaseName() { + return getName().substring(0, getName().lastIndexOf("-")); } - - default URL getReleaseNotesURL() throws MalformedURLException { - return new URL(getFolderURL()+RELEASE_NOTES_FILE_NAME); + + default TimePoint getCreationDate() { + final String dateSubstring = getName().substring(getName().lastIndexOf("-")+1); + try { + final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmm"); + simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); + return TimePoint.of(simpleDateFormat.parse(dateSubstring)); + } catch (ParseException e) { + logger.log(Level.WARNING, "Error parsing release date "+dateSubstring+". Returning null instead.", e); + return null; + } } + + URL getReleaseNotesURL(); - default URL getDeployableArchiveURL() throws MalformedURLException { - return new URL(getFolderURL()+getName()+ARCHIVE_EXTENSION); - } + URL getDeployableArchiveURL(); @Override default Map getUserData() { diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/ReleaseRepository.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/ReleaseRepository.java index 4221666c66d..f21f4e99da3 100755 --- a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/ReleaseRepository.java +++ b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/ReleaseRepository.java @@ -12,8 +12,8 @@ public interface ReleaseRepository extends Iterable { * @return the latest build with name prefix {@link #MASTER_RELEASE_NAME_PREFIX} if such a release exists in this * repository, or {@code null} otherwise */ - default Release getLatestMasterRelease() { - return getLatestRelease(getMasterReleaseNamePrefix()); + default Release getLatestDefaultRelease() { + return getLatestRelease(getDefaultReleaseNamePrefix()); } /** @@ -26,7 +26,5 @@ public interface ReleaseRepository extends Iterable { */ Release getRelease(String releaseName); - String getRepositoryBase(); - - String getMasterReleaseNamePrefix(); + String getDefaultReleaseNamePrefix(); } diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/application/impl/ApplicationProcessImpl.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/application/impl/ApplicationProcessImpl.java index 3b3ecac59ef..67773265f37 100755 --- a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/application/impl/ApplicationProcessImpl.java +++ b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/application/impl/ApplicationProcessImpl.java @@ -36,7 +36,6 @@ import com.sap.sse.landscape.RotatingFileBasedLog; import com.sap.sse.landscape.application.ApplicationProcess; import com.sap.sse.landscape.application.ApplicationProcessMetrics; import com.sap.sse.landscape.impl.ProcessImpl; -import com.sap.sse.landscape.impl.ReleaseImpl; import com.sap.sse.landscape.ssh.SshCommandChannel; import com.sap.sse.shared.util.Wait; import com.sap.sse.util.HttpUrlConnectionHelper; @@ -106,7 +105,7 @@ implements ApplicationProcess { } else { final Matcher matcher = pattern.matcher(versionTxt); if (matcher.find()) { - result = new ReleaseImpl(matcher.group(1), releaseRepository); + result = releaseRepository.getRelease(matcher.group(1)); } else { result = null; } diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/AbstractRelease.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/AbstractRelease.java new file mode 100644 index 00000000000..26881dc9cf3 --- /dev/null +++ b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/AbstractRelease.java @@ -0,0 +1,12 @@ +package com.sap.sse.landscape.impl; + +import com.sap.sse.common.impl.NamedImpl; +import com.sap.sse.landscape.Release; + +public abstract class AbstractRelease extends NamedImpl implements Release { + private static final long serialVersionUID = 4872094283926485605L; + + public AbstractRelease(String name) { + super(name); + } +} diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/AbstractReleaseRepository.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/AbstractReleaseRepository.java new file mode 100644 index 00000000000..ddb10f39afa --- /dev/null +++ b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/AbstractReleaseRepository.java @@ -0,0 +1,36 @@ +package com.sap.sse.landscape.impl; + +import com.sap.sse.common.Util; +import com.sap.sse.landscape.Release; +import com.sap.sse.landscape.ReleaseRepository; + +public abstract class AbstractReleaseRepository implements ReleaseRepository { + private final String defaultReleaseNamePrefix; + + public AbstractReleaseRepository(String defaultReleaseNamePrefix) { + super(); + this.defaultReleaseNamePrefix = defaultReleaseNamePrefix; + } + + @Override + public String getDefaultReleaseNamePrefix() { + return defaultReleaseNamePrefix; + } + + @Override + public Release getLatestRelease(String releaseNamePrefix) { + Release result = null; + for (final Release release : this) { // invokes the iterator() method + if (release.getBaseName().equals(releaseNamePrefix) && + (result == null || release.getCreationDate().after(result.getCreationDate()))) { + result = release; + } + } + return result; + } + + @Override + public Release getRelease(String releaseName) { + return Util.first(Util.filter(this, r->r.getName().equals(releaseName))); + } +} diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/FolderBasedReleaseImpl.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/FolderBasedReleaseImpl.java new file mode 100755 index 00000000000..f755da51bcd --- /dev/null +++ b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/FolderBasedReleaseImpl.java @@ -0,0 +1,44 @@ +package com.sap.sse.landscape.impl; + +import java.net.MalformedURLException; +import java.net.URL; + +import com.sap.sse.landscape.Release; + +/** + * Collaborates with {@link FolderBasedReleaseRepositoryImpl}. + * + * @author Axel Uhl (d043530) + * + */ +public class FolderBasedReleaseImpl extends AbstractRelease implements Release { + private static final long serialVersionUID = -225240683033821028L; + private final String repositoryBase; + + public FolderBasedReleaseImpl(String name, String repositoryBase) { + super(name); + this.repositoryBase = repositoryBase; + } + + @Override + public URL getReleaseNotesURL() { + try { + return new URL(getDownloadFolderURL()+RELEASE_NOTES_FILE_NAME); + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } + } + + @Override + public URL getDeployableArchiveURL() { + try { + return new URL(getDownloadFolderURL()+getName()+ARCHIVE_EXTENSION); + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } + } + + private String getDownloadFolderURL() { + return repositoryBase+"/"+getName()+"/"; + } +} diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/ReleaseRepositoryImpl.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/FolderBasedReleaseRepositoryImpl.java similarity index 59% rename from java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/ReleaseRepositoryImpl.java rename to java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/FolderBasedReleaseRepositoryImpl.java index aeece4569f0..4474ff122f4 100755 --- a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/ReleaseRepositoryImpl.java +++ b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/FolderBasedReleaseRepositoryImpl.java @@ -14,33 +14,37 @@ import java.util.logging.Logger; import java.util.regex.Matcher; import java.util.regex.Pattern; -import com.sap.sse.common.Util; import com.sap.sse.landscape.Release; -import com.sap.sse.landscape.ReleaseRepository; import com.sap.sse.util.HttpUrlConnectionHelper; -public class ReleaseRepositoryImpl implements ReleaseRepository { - private static final Logger logger = Logger.getLogger(ReleaseRepositoryImpl.class.getName()); +/** + * Assumes a simple folder exposed by a web server, such as Apache httpd, where the "repository base" references the + * folder which shows an "index" of the sub-folders in it, so that we can explore it. Each sub-folder is expected to be + * named after the corresponding release and must contain the release-notes.txt file (see + * {@link Release#RELEASE_NOTES_FILE_NAME}) as well as the .tar.gz file (see {@link Release#ARCHIVE_EXTENSION}) that + * represents the actual release file. + * + * @author Axel Uhl (d043530) + * + */ +public class FolderBasedReleaseRepositoryImpl extends AbstractReleaseRepository { + private static final Logger logger = Logger.getLogger(FolderBasedReleaseRepositoryImpl.class.getName()); private final String repositoryBase; - - private final String masterReleaseNamePrefix; - - public ReleaseRepositoryImpl(String repositoryBase, String masterReleaseNamePrefix) { - super(); + + public FolderBasedReleaseRepositoryImpl(String repositoryBase, String defaultReleaseNamePrefix) { + super(defaultReleaseNamePrefix); this.repositoryBase = repositoryBase; - this.masterReleaseNamePrefix = masterReleaseNamePrefix; } - @Override - public String getRepositoryBase() { + private String getRepositoryBase() { return repositoryBase; } @Override - public String getMasterReleaseNamePrefix() { - return masterReleaseNamePrefix; + public Iterator iterator() { + return getAvailableReleases().iterator(); } - + private Iterable getAvailableReleases() { final List result = new LinkedList<>(); try { @@ -57,7 +61,7 @@ public class ReleaseRepositoryImpl implements ReleaseRepository { final Matcher m = pattern.matcher(contents); int lastMatch = 0; while (m.find(lastMatch)) { - result.add(new ReleaseImpl(m.group(1), this)); + result.add(new FolderBasedReleaseImpl(m.group(1), getRepositoryBase())); lastMatch = m.end(); } } catch (IOException e) { @@ -66,27 +70,4 @@ public class ReleaseRepositoryImpl implements ReleaseRepository { } return result; } - - @Override - public Iterator iterator() { - return getAvailableReleases().iterator(); - } - - @Override - public Release getLatestRelease(String releaseNamePrefix) { - Release result = null; - for (final Release release : getAvailableReleases()) { - if (release.getBaseName().equals(releaseNamePrefix) && - (result == null || release.getCreationDate().after(result.getCreationDate()))) { - result = release; - } - } - return result; - } - - @Override - public Release getRelease(String releaseName) { - return Util.first(Util.filter(getAvailableReleases(), r->r.getName().equals(releaseName))); - } - } diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/GithubRelease.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/GithubRelease.java new file mode 100644 index 00000000000..e9b7d28420b --- /dev/null +++ b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/GithubRelease.java @@ -0,0 +1,37 @@ +package com.sap.sse.landscape.impl; + +import java.net.MalformedURLException; +import java.net.URL; + +import com.sap.sse.landscape.Release; + +public class GithubRelease extends AbstractRelease implements Release { + private static final long serialVersionUID = -8587383557709591724L; + private final String downloadURL; + private final String releaseNotesURL; + + public GithubRelease(String name, String downloadURL, String releaseNotesURL) { + super(name); + this.downloadURL = downloadURL; + this.releaseNotesURL = releaseNotesURL; + } + + @Override + public URL getReleaseNotesURL() { + try { + return new URL(releaseNotesURL); + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } + } + + @Override + public URL getDeployableArchiveURL() { + try { + return new URL(downloadURL); + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } + } + +} diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/GithubReleasesRepository.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/GithubReleasesRepository.java new file mode 100644 index 00000000000..40efc5e2221 --- /dev/null +++ b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/GithubReleasesRepository.java @@ -0,0 +1,377 @@ +package com.sap.sse.landscape.impl; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; +import java.text.SimpleDateFormat; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.concurrent.ConcurrentNavigableMap; +import java.util.concurrent.ConcurrentSkipListMap; +import java.util.logging.Logger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.json.simple.JSONArray; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; + +import com.sap.sse.common.Duration; +import com.sap.sse.common.TimePoint; +import com.sap.sse.common.Util.Pair; +import com.sap.sse.landscape.Release; +import com.sap.sse.landscape.ReleaseRepository; +import com.sap.sse.util.HttpUrlConnectionHelper; + +/** + * Can enumerate the {@link Release}s published by a GitHub repository and search releases whose name starts with a + * specific prefix. This assumes a public GitHub repository where releases can be freely downloaded from + * https://github.com/{owner}/{repo}/releases/download/{release-name}. The {@code api.github.com}'s + * {@code /releases} end point delivers the releases in descending chronological order, so newest releases first. With + * this, we can cache old results and try to get along with the harsh rate limit of only 60 requests per hour when used + * without authentication. + *

        + * + * Due to the harsh rate limits we restrict loading even of the first page to once every two minutes; multiple requests + * within this duration will be answered from the cache. With this, a single instance of this class will typically + * request all releases only once, cache all these releases, and then look for newer releases at most every two + * minutes, thereby staying well within limits. + *

        + * + * Enumerating the releases works through the inner class {@link ReleaseIterator}. If the last loading request for the + * first page happened more than those two minutes ago, another such request will be made and the new, yet uncached + * releases obtained from it will be added to the cache. Then, enumeration starts on the cache, delivering the newest + * release first. When the oldest cached element has been delivered through the iterator, the next action depends on + * whether or not the cache {@link #cacheContainsOldestRelease contains the oldest release} already. If so, no older + * release can exist, and iteration ends. Otherwise, more requests for further paginated release documents are sent + * until no more pages are found or releases older than the so far oldest release from the cache are found and added to + * the cache. Iteration then continues on the cache again. + *

        + * + * The class is thread-safe in that it allows multiple threads to obtain iterators on a single instance of this class. + * The loading and caching of releases pages from GitHub, the invocation of the {@link #iterator()} method and the + * {@link ReleaseIterator#hasNext()} and {@link ReleaseIterator#next()} methods all obtain this object's monitor + * ({@code synchronized}). This may cause one iterator having to wait for another iterator's implicit loading actions. + *

        + * + * @author Axel Uhl (d043530) + */ +public class GithubReleasesRepository extends AbstractReleaseRepository implements ReleaseRepository { + private final static Logger logger = Logger.getLogger(GithubReleasesRepository.class.getName()); + private static final SimpleDateFormat isoDateTimeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX"); + private final static String GITHUB_API_BASE_URL = "https://api.github.com"; + private final static String GITHUB_BASE_URL = "https://github.com"; + private final static int NUMBER_OF_RELEASES_PER_PAGE = 100; // default would be 30; maximum is 100 + private final String owner; + private final String repositoryName; + + /** + * The cache of releases as loaded from the GitHub web site. The cache is filled when iterating using a + * {@link ReleaseIterator}, by loading paginated release records, converting them to {@link GithubRelease} objects + * and storing them in this cache. + *

        + * + * The cache does not guarantee to contain the newest releases, nor does it guarantee to go back all the way to the + * oldest release. Its contents are contiguous in the sense of how the releases are returned by the GitHub API in + * descending order of publication, from new to old. In other words, if there is a release cached that was published + * at time point {@code t1} and another at a later time point {@code t2}, then the cache is guaranteed to contain + * all releases published in the time range {@code [t1:t2]} (inclusive). + *

        + * + * Should a {@link ReleaseIterator} have enumerated all releases back to the oldest one, the + * {@link #cacheContainsOldestRelease} flag will be set to {@code true} which means that when an iteration has + * reached the oldest release in the cache, iteration is complete, and no further page loading is necessary + * to complete the iteration. + */ + private final ConcurrentNavigableMap releasesByPublishingTimePoint; + + private boolean cacheContainsOldestRelease; + + /** + * If {@link #cacheContainsOldestRelease} is {@code false}, meaning the cache hasn't seen all releases back to the oldest + * one, this field holds the URL of the next page to load that will obtain older releases. Note that if newer releases + * have been published since loading the so far oldest cached releases, one or more newer releases may have slipped + * into that next page. But page loading of older releases will add only releases effectively older than the oldest + * release in the cache so far.

        + * + * It starts out with {@link #getReleasesURL()}.

        + * + * Will be {@code null} if {@link #cacheContainsOldestRelease} is {@code true}. + */ + private String nextPageURLForOlderReleases; + + private TimePoint lastFetchOfNewestReleases; + + private final static Duration RELOAD_NEWEST_RELEASES_AFTER_DURATION = Duration.ONE_MINUTE.times(2); + + /** + * If {@link GithubReleasesRepository#lastFetchOfNewestReleases} is {@code null} or older than the + * {@link GithubReleasesRepository#RELOAD_NEWEST_RELEASES_AFTER_DURATION}, the page with newest releases is actually + * loaded. Otherwise, we assume that within the + * {@link GithubReleasesRepository#RELOAD_NEWEST_RELEASES_AFTER_DURATION} interval changes are sufficiently + * unlikely, so we will set the {@link #cachedReleasesIterator} to directly serve the current contents of the cache. + *

        + * + * Always fetches the first page from the {@code /releases} end point and starts constructing and + * {@link GithubReleasesRepository#releasesByPublishingTimePoint caching} releases, until a publishing time point + * overlap with {@link GithubReleasesRepository#releasesByPublishingTimePoint} is found. Iteration then starts from + * that cache. If the iterator has returned all elements from the cache going backwards in publishing history, and + * {@link GithubReleasesRepository#cacheContainsOldestRelease} is {@code false}, indicating that the cache does not + * go back to the "beginning of time," and still more elements are requested from this iterator, paginated release + * documents need to get loaded again until we find even older releases than the oldest one from the cache. The + * loaded elements will be added to the cache, and a new internal iterator is launched on the cache starting from + * the then loaded element. + *

        + * + * All releases found by loading a page are added to the + * {@link GithubReleasesRepository#releasesByPublishingTimePoint} cache. If the page with the oldest sequence of + * releases has been loaded (there is no next page then anymore), the + * {@link GithubReleasesRepository#cacheContainsOldestRelease} flag is set to {@code true}. + * + * @author Axel Uhl (d043530) + * + */ + private class ReleaseIterator implements Iterator { + /** + * Used to enumerate the cached elements; will get assigned a new iterator after having reached the "old" end of + * the cache and {@link GithubReleasesRepository#loadPageWithNextOlderReleases() loading more older releases}. + */ + private Iterator cachedReleasesIterator; + + private ReleaseIterator() throws MalformedURLException, IOException, ParseException { + synchronized (GithubReleasesRepository.this) { + final TimePoint now = TimePoint.now(); + if (lastFetchOfNewestReleases != null && lastFetchOfNewestReleases.until(now) + .compareTo(RELOAD_NEWEST_RELEASES_AFTER_DURATION) < 0) { + logger.fine(()->"No need to fetch page with newest releases; did that at "+lastFetchOfNewestReleases); + } else { + logger.fine(()->"Need to fetch page with newest releases because last request was at "+ + (lastFetchOfNewestReleases==null?"":lastFetchOfNewestReleases)); + lastFetchOfNewestReleases = now; + fillCacheWithNewestReleases(); + } + cachedReleasesIterator = releasesByPublishingTimePoint.descendingMap().values().iterator(); + } + } + + @Override + public boolean hasNext() { + synchronized (GithubReleasesRepository.this) { + // - we're delivering from the cache and the cache has more elements, or + // - we've reached the end of the cache but the cache doesn't contain the oldest release so we can load more pages + return cachedReleasesIterator.hasNext() || !cacheContainsOldestRelease; + } + } + + @Override + public Release next() { + synchronized (GithubReleasesRepository.this) { + final Release result; + if (cachedReleasesIterator.hasNext()) { + result = cachedReleasesIterator.next(); + } else { + if (cacheContainsOldestRelease) { + throw new NoSuchElementException(); + } else { + final TimePoint oldestReleaseSoFar = releasesByPublishingTimePoint.firstKey(); + try { + loadPageWithNextOlderReleases(); + } catch (IOException | ParseException e) { + throw new RuntimeException(e); + } + cachedReleasesIterator = releasesByPublishingTimePoint.headMap(oldestReleaseSoFar).descendingMap().values().iterator(); + if (!cachedReleasesIterator.hasNext()) { + throw new NoSuchElementException(); + } else { + result = cachedReleasesIterator.next(); + } + } + } + return result; + } + } + } + + public GithubReleasesRepository(String owner, String repositoryName, String defaultReleaseNamePrefix) { + super(defaultReleaseNamePrefix); + this.owner = owner; + this.repositoryName = repositoryName; + this.releasesByPublishingTimePoint = new ConcurrentSkipListMap<>(); + this.cacheContainsOldestRelease = false; + this.nextPageURLForOlderReleases = getReleasesURL(); + this.lastFetchOfNewestReleases = null; + } + + /** + * Loads a page of releases from {@code pageURL} and returns the link to the next page, or {@code null} if this was + * the last page available (therefore containing the oldest releases). The releases loaded are added to the cache if + * they are outside of the contiguous time range between oldest and newest publishing date as it was found in the + * cache when this method is invoked. + *

        + * + * The method makes no changes to the cache or any other state of this instance. + * + * @return the link to the next page in the returned pair's {@link Pair#getA() A component}, and the sequence of + * releases loaded from that page with their publishing time points, ordered from newest to oldest. + */ + private synchronized Pair>> getReleasesFromPage(String pageURL) throws IOException, ParseException { + logger.info("Requesting releases page "+pageURL); + final URLConnection connection = HttpUrlConnectionHelper.redirectConnection(new URL(pageURL)); + final InputStream index = (InputStream) connection.getContent(); + final String xRatelimitRemaining = connection.getHeaderField("x-ratelimit-remaining"); + logger.fine(()->""+xRatelimitRemaining+" requests left in this hour"); + if (xRatelimitRemaining != null && Integer.valueOf(xRatelimitRemaining) <= 0) { + throw new RuntimeException("You hit the rate limit of "+connection.getHeaderField("x-ratelimit-limit")); + } + final String linkHeader = connection.getHeaderField("link"); + final String nextPageURL = getNextPageURL(linkHeader); + logger.fine(()->nextPageURL==null?"This was the last page":("Next page will be "+nextPageURL)); + final List> publishingTimePointsAndReleases = new LinkedList<>(); + final JSONArray releasesJson = (JSONArray) new JSONParser().parse(new InputStreamReader(index)); + for (final Object releaseObject : releasesJson) { + publishingTimePointsAndReleases.add(getPublishedAtAndReleaseFromJson((JSONObject) releaseObject)); + } + return new Pair<>(nextPageURL, publishingTimePointsAndReleases); + } + + /** + * Loads at least one page of releases, starting with {@link #getReleasesURL()}. The method ensures that a time-wise + * overlap with any pre-existing cache entries is established so that the cache entries are a contiguous prefix of + * the list of all releases that exist in the repository. + *

        + * + * In particular, if the cache is empty when this method is called, only the first page needs loading. + *

        + * + * If the cache already contained one or more releases when this method is called, page loading continues + * with the next page until a page contains a release published not after the newest release in the cache + * at the time when this method was called. + */ + private synchronized void fillCacheWithNewestReleases() throws IOException, ParseException { + final boolean cacheWasEmpty = releasesByPublishingTimePoint.isEmpty(); + final TimePoint publishingTimePointOfLatestReleaseSoFar = cacheWasEmpty ? null : releasesByPublishingTimePoint.lastKey(); + String nextPageURL = getReleasesURL(); + boolean overlap = false; + do { + final Pair>> pageResults = getReleasesFromPage(nextPageURL); + for (final Pair publishingTimePointAndRelease : pageResults.getB()) { + overlap = !cacheWasEmpty && !publishingTimePointAndRelease.getA().after(publishingTimePointOfLatestReleaseSoFar); + if (cacheWasEmpty || publishingTimePointAndRelease.getA().after(publishingTimePointOfLatestReleaseSoFar)) { + releasesByPublishingTimePoint.put(publishingTimePointAndRelease.getA(), publishingTimePointAndRelease.getB()); + } + } + nextPageURL = pageResults.getA(); + if (cacheWasEmpty) { + rememberNextPageForOlderReleases(nextPageURL); + } + } while (!cacheWasEmpty && !overlap); + } + + private void rememberNextPageForOlderReleases(String nextPageURL) { + nextPageURLForOlderReleases = nextPageURL; + if (nextPageURL == null) { + cacheContainsOldestRelease = true; + } + } + + /** + * Loads the page referenced by {@link #nextPageURLForOlderReleases}, adjusting that very field to point to either + * the next older page or {@code null}, and adjusting {@link #cacheContainsOldestRelease} accordingly. Releases + * older than the so far oldest release are added to the cache. If {@link #cacheContainsOldestRelease} is + * {@code false}, the process continues until at least one older release has been added to the cache.

        + * + * Precondition: {@code !}{@link #cacheContainsOldestRelease} {@code && }{@link #nextPageURLForOlderReleases}{@code != null} + */ + private synchronized void loadPageWithNextOlderReleases() throws IOException, ParseException { + assert !cacheContainsOldestRelease; + final TimePoint publishingTimePointOfOldestReleaseInCacheSoFar = releasesByPublishingTimePoint.firstKey(); + boolean addedAtLeastOneReleaseToCache = false; + do { + final Pair>> pageResults = getReleasesFromPage(nextPageURLForOlderReleases); + for (final Pair publishedAtAndRelease : pageResults.getB()) { + if (publishedAtAndRelease.getA().before(publishingTimePointOfOldestReleaseInCacheSoFar)) { + addedAtLeastOneReleaseToCache = true; + releasesByPublishingTimePoint.put(publishedAtAndRelease.getA(), publishedAtAndRelease.getB()); + } + } + rememberNextPageForOlderReleases(pageResults.getA()); + } while (!addedAtLeastOneReleaseToCache && !cacheContainsOldestRelease); + } + + @Override + public Release getLatestRelease(String releaseNamePrefix) { + Release result = null; + for (final Release release : this) { // invokes the iterator() method + if (release.getBaseName().equals(releaseNamePrefix)) { + result = release; + break; // here we assume that releases are enumerated from newest to oldest + } + } + return result; + } + + private String getRepositoryPath() { + return owner+"/"+repositoryName; + } + + private String getReleasesURL() { + return GITHUB_API_BASE_URL+"/repos/"+getRepositoryPath()+"/releases?per_page="+NUMBER_OF_RELEASES_PER_PAGE; + } + + @Override + public Release getRelease(String releaseName) { + return new GithubRelease(releaseName, GITHUB_BASE_URL+"/"+getRepositoryPath()+"/releases/download/"+releaseName+"/"+releaseName+Release.ARCHIVE_EXTENSION, + GITHUB_BASE_URL+"/"+getRepositoryPath()+"/releases/download/"+releaseName+"/"+Release.RELEASE_NOTES_FILE_NAME); + } + + @Override + public Iterator iterator() { + try { + return new ReleaseIterator(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private Pair getPublishedAtAndReleaseFromJson(JSONObject releaseJson) { + final String name = releaseJson.get("name").toString(); + final String publishedAtISO = releaseJson.get("published_at").toString(); + TimePoint publishedAt; + try { + publishedAt = TimePoint.of(isoDateTimeFormat.parse(publishedAtISO)); + } catch (java.text.ParseException e) { + logger.warning("Couldn't read published_at time stamp for release "+name+": "+publishedAtISO); + throw new RuntimeException(e); + } + String archiveDownloadURL = null; + String releaseNotesURL = null; + for (final Object archiveAsset : (JSONArray) releaseJson.get("assets")) { + final JSONObject archiveAssetJson = (JSONObject) archiveAsset; + if (archiveAssetJson.get("content_type").equals("application/x-tar")) { + archiveDownloadURL = archiveAssetJson.get("browser_download_url").toString(); + } else if (archiveAssetJson.get("name").equals(Release.RELEASE_NOTES_FILE_NAME)) { + releaseNotesURL = archiveAssetJson.get("browser_download_url").toString(); + } + } + final GithubRelease release = new GithubRelease(name, archiveDownloadURL, releaseNotesURL); + return new Pair<>(publishedAt, release); + } + + private static final Pattern nextPagePattern = Pattern.compile(".*<([^<]*)>; rel=\"next\".*"); + String getNextPageURL(String linkHeader) { + final String result; + final Matcher m = nextPagePattern.matcher(linkHeader); + if (m.matches()) { + result = m.group(1); + } else { + result = null; + } + return result; + } +} diff --git a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/ReleaseImpl.java b/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/ReleaseImpl.java deleted file mode 100755 index cf28291ddc6..00000000000 --- a/java/com.sap.sse.landscape/src/com/sap/sse/landscape/impl/ReleaseImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.sap.sse.landscape.impl; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.TimeZone; -import java.util.logging.Level; -import java.util.logging.Logger; - -import com.sap.sse.common.TimePoint; -import com.sap.sse.common.impl.NamedImpl; -import com.sap.sse.landscape.Release; -import com.sap.sse.landscape.ReleaseRepository; - -public class ReleaseImpl extends NamedImpl implements Release { - private static final Logger logger = Logger.getLogger(ReleaseImpl.class.getName()); - private static final long serialVersionUID = -225240683033821028L; - - private final ReleaseRepository repository; - - public ReleaseImpl(String name, ReleaseRepository repository) { - super(name); - this.repository = repository; - } - - @Override - public ReleaseRepository getRepository() { - return repository; - } - - @Override - public String getBaseName() { - return getName().substring(0, getName().lastIndexOf("-")); - } - - @Override - public TimePoint getCreationDate() { - final String dateSubstring = getName().substring(getName().lastIndexOf("-")+1); - try { - final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmm"); - simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); - return TimePoint.of(simpleDateFormat.parse(dateSubstring)); - } catch (ParseException e) { - logger.log(Level.WARNING, "Error parsing release date "+dateSubstring+". Returning null instead.", e); - return null; - } - } -} diff --git a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/AdminRole.java b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/AdminRole.java index a78e653c015..0508d045768 100755 --- a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/AdminRole.java +++ b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/AdminRole.java @@ -1,7 +1,6 @@ package com.sap.sse.security.shared; public class AdminRole extends RolePrototype { - private static final long serialVersionUID = 3291793984984443193L; private static final AdminRole INSTANCE = new AdminRole(); private static final String UUID_STRING = "dc77e3d1-d405-435e-8699-ce7245f6fd7a"; diff --git a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/RolePrototype.java b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/RolePrototype.java index d2bc66ceffb..149ae9893a6 100755 --- a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/RolePrototype.java +++ b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/RolePrototype.java @@ -4,13 +4,10 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; -import com.sap.sse.common.NamedWithID; import com.sap.sse.common.Util; +import com.sap.sse.common.WithID; -public abstract class RolePrototype implements NamedWithID { - - private static final long serialVersionUID = -3911998376131317304L; - +public abstract class RolePrototype implements WithID { /* * Might be used in Stringmessages to identify SubscriptionplanRoles. Do check and validate before changing. */ @@ -40,7 +37,7 @@ public abstract class RolePrototype implements NamedWithID { } } - @Override +// @Override public String getName() { return name; } diff --git a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/ServerAdminRole.java b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/ServerAdminRole.java index 890b23aea3d..504dd95a981 100644 --- a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/ServerAdminRole.java +++ b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/ServerAdminRole.java @@ -14,8 +14,6 @@ import com.sap.sse.security.shared.impl.SecuredSecurityTypes; * */ public class ServerAdminRole extends RolePrototype { - private static final long serialVersionUID = -4196925850206436676L; - private static final ServerAdminRole INSTANCE = new ServerAdminRole(); ServerAdminRole() { diff --git a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/UserRole.java b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/UserRole.java index 050f7481d55..9f6ad1d8bfa 100755 --- a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/UserRole.java +++ b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/UserRole.java @@ -4,8 +4,6 @@ import com.sap.sse.security.shared.HasPermissions.DefaultActions; import com.sap.sse.security.shared.impl.SecuredSecurityTypes; public class UserRole extends RolePrototype { - private static final long serialVersionUID = 3291793984984443193L; - private static final UserRole INSTANCE = new UserRole(); UserRole() { diff --git a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/subscription/AllDataMiningRole.java b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/subscription/AllDataMiningRole.java index aa738c08ba3..3e899149116 100644 --- a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/subscription/AllDataMiningRole.java +++ b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/subscription/AllDataMiningRole.java @@ -10,7 +10,6 @@ import com.sap.sse.security.shared.impl.SecuredSecurityTypes; * Specifies a role that when associated to a user gives access to the date mining functionality on all servers. */ public class AllDataMiningRole extends RolePrototype { - private static final long serialVersionUID = 6671501683896115261L; private static final UUID ROLE_ID = UUID.fromString("de4205b5-ccf9-49b2-91e1-9a41b4db166b"); private static final AllDataMiningRole INSTANCE = new AllDataMiningRole(); diff --git a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/subscription/ArchiveDataMiningRole.java b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/subscription/ArchiveDataMiningRole.java index 20c60e713b5..63b889f4a39 100644 --- a/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/subscription/ArchiveDataMiningRole.java +++ b/java/com.sap.sse.security.common/src/com/sap/sse/security/shared/subscription/ArchiveDataMiningRole.java @@ -10,7 +10,6 @@ import com.sap.sse.security.shared.impl.SecuredSecurityTypes; * Specifies a role that when associated to a user gives access to the date mining functionality on archive server. */ public class ArchiveDataMiningRole extends RolePrototype { - private static final long serialVersionUID = 6671501683896115261L; private static final UUID ROLE_ID = UUID.fromString("f2993a7a-c08d-11ec-9d64-0242ac120002"); private static final ArchiveDataMiningRole INSTANCE = new ArchiveDataMiningRole(); diff --git a/java/com.sap.sse.security.ui/.settings/com.gwtplugins.gwt.eclipse.core.prefs b/java/com.sap.sse.security.ui/.settings/com.gwtplugins.gwt.eclipse.core.prefs index b502e24c2f7..a7840d9807e 100644 --- a/java/com.sap.sse.security.ui/.settings/com.gwtplugins.gwt.eclipse.core.prefs +++ b/java/com.sap.sse.security.ui/.settings/com.gwtplugins.gwt.eclipse.core.prefs @@ -1,4 +1,4 @@ -//gwtVersion_/com.google.gwt.user/lib= +//gwtVersion_/com.google.gwt.user/lib=2.11.1 //gwtVersion_/opt/gwt-2.11.0=2.11.0 //gwtVersion_/opt/gwt-2.11.1=2.11.1 //gwtVersion_/opt/gwt-2.12.2=2.12.2 diff --git a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/EditProfile.gwt.xml b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/EditProfile.gwt.xml index 09cd7cd2e7d..24e09d25bc1 100644 --- a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/EditProfile.gwt.xml +++ b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/EditProfile.gwt.xml @@ -11,7 +11,7 @@ - + diff --git a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/EmailValidation.gwt.xml b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/EmailValidation.gwt.xml index 63991a0f75a..bfb2e2e9f0b 100644 --- a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/EmailValidation.gwt.xml +++ b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/EmailValidation.gwt.xml @@ -10,7 +10,7 @@ - + diff --git a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/Login.gwt.xml b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/Login.gwt.xml index cb4df2db2c3..17dcb0fa0a0 100644 --- a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/Login.gwt.xml +++ b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/Login.gwt.xml @@ -4,7 +4,7 @@ - + diff --git a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/LoginPanel.gwt.xml b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/LoginPanel.gwt.xml index 03a1f5a17b7..47759f4a1ab 100644 --- a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/LoginPanel.gwt.xml +++ b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/LoginPanel.gwt.xml @@ -9,7 +9,7 @@ - + diff --git a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/OAuthLogin.gwt.xml b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/OAuthLogin.gwt.xml index 2214e9c3eeb..6dc46cb0c6c 100644 --- a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/OAuthLogin.gwt.xml +++ b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/OAuthLogin.gwt.xml @@ -9,7 +9,7 @@ - + diff --git a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/Register.gwt.xml b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/Register.gwt.xml index 0de45d11816..adb28ffc321 100644 --- a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/Register.gwt.xml +++ b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/Register.gwt.xml @@ -9,7 +9,7 @@ - + diff --git a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/UserManagement.gwt.xml b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/UserManagement.gwt.xml index cec57af24e3..67d67f370a1 100644 --- a/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/UserManagement.gwt.xml +++ b/java/com.sap.sse.security.ui/src/main/resources/com/sap/sse/security/ui/UserManagement.gwt.xml @@ -12,7 +12,7 @@ - + diff --git a/java/com.tractrac.clientmodule/META-INF/MANIFEST.MF b/java/com.tractrac.clientmodule/META-INF/MANIFEST.MF index 923b6de6f81..e8e7a607982 100644 --- a/java/com.tractrac.clientmodule/META-INF/MANIFEST.MF +++ b/java/com.tractrac.clientmodule/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: TracTrac Client module Bundle-SymbolicName: com.tractrac.clientmodule -Bundle-Version: 4.0.4 +Bundle-Version: 5.0.2 Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Bundle-ClassPath: ., lib/TracAPI.jar @@ -11,6 +11,7 @@ Export-Package: com.tractrac.asio.lib.api, com.tractrac.asio.lib.api.protocol.session, com.tractrac.asio.lib.api.record, com.tractrac.asio.lib.api.session, + com.tractrac.asio.lib.api.stats, com.tractrac.asio.lib.spi, com.tractrac.asio.lib.spi.record, com.tractrac.common.lib.api.messenger, @@ -90,6 +91,7 @@ Export-Package: com.tractrac.asio.lib.api, com.tractrac.model.server.lib.api.raceobject, com.tractrac.model.server.lib.api.route, com.tractrac.model.server.lib.api.sensor, + com.tractrac.model.server.lib.api.user, com.tractrac.model.server.lib.api.view, com.tractrac.osgi, com.tractrac.subscription.app.tracapi, @@ -126,6 +128,7 @@ Export-Package: com.tractrac.asio.lib.api, com.tractrac.util.lib.api.search, com.tractrac.util.lib.api.selector, com.tractrac.util.lib.api.serialize, + com.tractrac.util.lib.api.test, com.tractrac.util.lib.impl.autolog, com.tractrac.util.lib.impl.autolog.file, com.tractrac.util.lib.impl.autolog.multiple, @@ -144,8 +147,7 @@ Export-Package: com.tractrac.asio.lib.api, com.tractrac.util.server.lib.metrics, com.tractrac.util.server.lib.metrics.entities, com.tractrac.util.server.lib.monitor, - com.tractrac.util.server.lib.parser, - com.tractrac.util.server.lib.test + com.tractrac.util.server.lib.parser Bundle-ActivationPolicy: lazy Bundle-Vendor: TracTrac Import-Package: org.osgi.framework diff --git a/java/com.tractrac.clientmodule/README.txt b/java/com.tractrac.clientmodule/README.txt index cae90ccdf26..15aebe98f1f 100644 --- a/java/com.tractrac.clientmodule/README.txt +++ b/java/com.tractrac.clientmodule/README.txt @@ -15,11 +15,51 @@ It contains also some files: - test.sh -> script that compiles the code in the src folder, creates the test.jar library and execute the code of the example. - Manifest.txt -> manifest used to create the test.jar file +******************************************** + TracAPI 5.0.2 +******************************************** +This is a final version. It keeps the backward compatibility. + + Release date: 11/11/2025 + + 1) Bugs + + - The Java HTTP client’s automatic redirection did not preserve authentication headers. We now handle HTTP redirects + manually to ensure that the headers are retained during redirection. (Reported by Axel Uhl, 10/11/2025) + +******************************************** + TracAPI 5.0.1 +******************************************** +This is a final version. It keeps the backward compatibility. + + Release date: 29/10/2025 + + 1) Bugs + + - The library was not compatible with Java 8 (Reported by Axel Uhl, 28/10/2025) + +******************************************** + TracAPI 5.0.0 +******************************************** +This is the final version. It adds authentication to the backend and it is not compatible with versions 4.x.x. + +This version introduces authentication to access TracTrac data in the backend. From now on, all resources require +authentication using API tokens, which can be generated through the TracTrac Event Manager. + +This release is not compatible with versions 4.x.x, as it introduces breaking changes to the API. + +Breaking Changes from Version 4.x.x + +- com.tractrac.model.lib.api.event.IEventFactory: added a new first parameter apiToken to all methods. +- com.tractrac.subscription.lib.api.ISubscriberFactory:added a new first parameter apiToken to all methods. + + Release date: 23/10/2025 + ******************************************** TracAPI 4.0.4 ******************************************** -This is the final version. It keeps the backward compatibility. This version has been compiled with -Java 21 but the target compatibility continues being Java 8. +This is the final version. It keeps the backward compatibility. It was compiled with Java 21, but the target +compatibility is still Java 8 Release date: 01/10/2025 diff --git a/java/com.tractrac.clientmodule/javadoc/allclasses-frame.html b/java/com.tractrac.clientmodule/javadoc/allclasses-frame.html deleted file mode 100644 index 1d9ce5262ac..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/allclasses-frame.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -All Classes (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

        All Classes

        - - - diff --git a/java/com.tractrac.clientmodule/javadoc/allclasses-index.html b/java/com.tractrac.clientmodule/javadoc/allclasses-index.html new file mode 100644 index 00000000000..35968847266 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/allclasses-index.html @@ -0,0 +1,460 @@ + + + + +All Classes and Interfaces (Subscription - Applications - TracAPI 5.0.0 API) + + + + + + + + + + + + + + +
        + +
        +
        +
        +

        All Classes and Interfaces

        +
        +
        +
        +
        +
        +
        Class
        +
        Description
        + +
        +
        Abstract implementation for the IAttachable interface.
        +
        + +
         
        + +
        +
        + The datasource used to load data
        +
        + +
        +
        + The type of the event, according with the EventManager
        +
        + +
        +
        + This interface adds functionality for attaching custom data to an object.
        +
        + +
        +
        + An attachment key is used as a key to save a new attachment.
        +
        + +
        +
        Manager interface for creation of IAttachementKey for use with the + IAttachable interface.
        +
        + +
        +
        + Encapsulates data related to a Competitor of an Event.
        +
        + +
        +
        + Encapsulates data related to a Competitor Class in an Event.
        +
        + +
        +
        The listener interface for receiving events whenever a sensor data arrives + for a competitor.
        +
        + +
        +
        + This listener is used to receive events related with the competitor list.
        +
        + +
        +
        + The listener interface for receiving events for the stored and live data + handler.
        +
        + +
        +
        A control passing is a combination of a time and a control, usually the time where + a competitor passed a control of a control route.
        +
        + +
        +
        A set of control passings, usually associated with a route (IControlRoute)
        +
        + +
        +
        The listener interface for receiving events whenever a new control passings + result arrives for a competitor.
        +
        + +
        +
        The listener interface for receiving events whenever a sensor data arrives + for a control.
        +
        + +
        +
        + A route based on a number of controls/waypoints/control points.
        +
        + +
        +
        The listener interface for receiving events whenever a control route is changed.
        +
        + +
        +
        + A raw coordinate.
        +
        + +
        +
        + A sequence of points connected by straight lines (line segments)
        +
        + +
        +
        Encapsulates data related to an Event: Races, Competitors, Competitor + Classes, Routes.
        +
        + +
        +
        + Factory used to create an IEvent.
        +
        + +
        +
        + The listener interface for receiving events whenever a new message arrives.
        +
        + +
        +
        + Class that handles subscription to data for one event.
        +
        + +
        +
        A simple extent
        +
        + +
        +
        + A geographical coordinate.
        +
        + +
        +
        Defines a method to get the Id of an entity.
        +
        + +
        +
        + This event is used to monitorize the status of the live connection
        +
        + +
        +
        The status of the connection
        +
        + +
        +
        + A tangible object that can be drawn in the viewer.
        +
        + +
        +
        + This listener is used to receive events related with the control list.
        +
        + +
        +
        + General message associated to an event
        +
        + +
        +
        + A generic message object that can transfer messages either as text or as + binary large object (blob).
        +
        + +
        +
        + This class represents the metadata associated to an object.
        +
        + +
        +
        Implemented by all the classes that support metadata.
        +
        + +
        +
        + Factory used to create metadata.
        +
        + +
        +
        Defines a method to get the name of an entity.
        +
        + +
        +
        + A route based on a number of paths/segments/tracks/lines.
        +
        + +
        +
        + Factory used to create a list of IPathRoute.
        +
        + +
        +
        + A route segment is a part of a segment route.
        +
        + +
        +
        + A geographical position in latitude-longitude coordinates, recorded at a + certain time.
        +
        + +
        +
        + It represents a item with an attached position, either from a tracker or a static location.
        +
        + +
        +
        The listener interface for receiving events whenever a new position arrives + on a positioned item.
        +
        + +
        +
        + Factory used to create IPosition objects.
        +
        + +
        +
        The listener interface for receiving events whenever a new position arrives + for a competitor.
        +
        + +
        +
        A position along the route in the form of an offset, recorded at a certain + time.
        +
        + +
        +
        The listener interface for receiving events whenever a new offset position + arrives for a competitor.
        +
        + +
        +
        A snapped position is a position along a line or a route.
        +
        + +
        +
        The listener interface for receiving events whenever a new snapped position + arrives for a competitor
        +
        + +
         
        + +
        +
        + Encapsulates data related to a specific Race of a TracTrac Event.
        +
        + +
        +
        + Encapsulates data related to a specific Competitor of a specific Race.
        +
        + +
        +
        + This listener is manages the relationship between competitor and race.
        +
        + +
        +
        + General message associated to a race
        +
        + +
        +
        + A serie of races is a list of races that are a part of the same serie.
        +
        + +
        +
        + This listener is used to receive events related with the race list.
        +
        + +
        +
        + The listener interface for receiving events whenever change in the start + and/or stop times of a race occurs.
        +
        + +
        +
        + This interface is used to add subscriptions for a IRace object.
        +
        + +
        +
        + A route can be one of: IControlRoute or IPathRoute.
        +
        + +
        +
        + This listener is used to receive events related with the routes.
        +
        + +
        +
        + A segment is a part of an IPathRoute.
        +
        + +
        +
        + This interface implements sensor data.
        +
        + +
        +
        + Listener used to listen the serever time
        +
        + +
         
        + +
        +
        A combination of a start and a stop time
        +
        + +
        +
        The listener interface for receiving events whenever change in the start + and/or stop times occurs.
        +
        + +
        +
        + This event is used to monitorize the status of the stored connection
        +
        + +
        +
        The type of message
        +
        + +
        +
        + Subscriber to receive events from a datasource.
        +
        + +
        +
        + Factory used to create ISubscribers.
        +
        + +
        +
        + All the listeners that are used for the consumer application in order to receive + events from the server side have to implemented this interface.
        +
        + +
        +
        + Encapsulates data related to a Team of an Event.
        +
        + +
        +
        A base interface for data classes that are related to a point in time
        +
        + +
         
        + +
        +
        + This class is a locator used to get the instance of some of the factories + that are used for the creation of the objects.
        +
        + +
        +
        Enumeration representing all the possible values for the competitor status.
        +
        + +
        +
        + This exception is thrown when there is an error loading the race
        +
        + +
        +
        Values for race status.
        +
        + +
        +
        Values for race visitility.
        +
        + +
        +
        Type of start time to use.
        +
        + +
        +
        This exception is thrown when it is not possible to create a susbcriber.
        +
        + +
        +
        + This class is a locator used to get the instance of some of the factories + that are used for the creation of the objects.
        +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        + + diff --git a/java/com.tractrac.clientmodule/javadoc/allclasses-noframe.html b/java/com.tractrac.clientmodule/javadoc/allclasses-noframe.html deleted file mode 100644 index 7d9351c394d..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/allclasses-noframe.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -All Classes (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

        All Classes

        - - - diff --git a/java/com.tractrac.clientmodule/javadoc/allpackages-index.html b/java/com.tractrac.clientmodule/javadoc/allpackages-index.html new file mode 100644 index 00000000000..825265ce892 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/allpackages-index.html @@ -0,0 +1,142 @@ + + + + +All Packages (Subscription - Applications - TracAPI 5.0.0 API) + + + + + + + + + + + + + + +
        + +
        +
        +
        +

        All Packages

        +
        +
        Package Summary
        +
        +
        Package
        +
        Description
        + +
        +
        + Main package of the model project.
        +
        + +
        +
        + Contains the functionality to attach an object to other object.
        +
        + +
        +
        + Contains positions and control passings
        +
        + +
        +
        + Events, races and competitors
        +
        + +
         
        + +
        +
        + The metadata functionality
        +
        + +
        +
        + The route configuration: controls, paths and routes
        +
        + +
        +
        + Sensor data interfaces
        +
        + +
        +
        + The spatial data
        +
        + +
        +
        + Contains the classes used to add a subscription to an event.
        +
        + +
        +
        + Subscriptions related with competitors and positions
        +
        + +
        +
        + Subscriptions related with the controls and control passings
        +
        + +
        +
        + Subscriptions related with the event and/or the connection
        +
        + +
         
        + +
        +
        + Subscriptions related with the races
        +
        + +
        +
        + Subscriptions related with the routes
        +
        +
        +
        +
        +
        + +
        +
        +
        + + diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/IIdentifiable.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/IIdentifiable.html index c9a650d0e65..4840e28a53f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/IIdentifiable.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/IIdentifiable.html @@ -1,251 +1,168 @@ - - + - + +IIdentifiable (Subscription - Applications - TracAPI 5.0.0 API) + -IIdentifiable (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
        + +
        +
        -
        com.tractrac.model.lib.api
        -

        Interface IIdentifiable

        + +

        Interface IIdentifiable

        -
        -
        - -
        -
        -
        -
        -
          -
        • +
        +
        +
        +
        +

        Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

        +getAttachment, setAttachment
        + + +
      + +
      +
        -
          -
        • - - -

          Method Detail

          - - - -
            -
          • -

            getId

            -
            UUID getId()
            +
          • +
            +

            Method Details

            +
              +
            • +
              +

              getId

              +
              UUID getId()
              Returns the unique id of this object.
              -
              -
              Returns:
              +
              +
              Returns:
              the unique id of this object.
              +
            +
          -
        • -
        -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/INamed.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/INamed.html index 1afac79a5f4..a1a700fcddc 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/INamed.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/INamed.html @@ -1,261 +1,174 @@ - - + - + +INamed (Subscription - Applications - TracAPI 5.0.0 API) + -INamed (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api
    -

    Interface INamed

    + +

    Interface INamed

    -
    -
    -
    +
    +
    Author:
    Jesper Grooss
    - - -
    -
    -
    -
    -
      -
    • +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getName

          -
          String getName()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getName

            +
            String getName()
            Returns the name associated with this object
            -
            -
            Returns:
            +
            +
            Returns:
            the name associated with this object
            +
          +
        -
      • -
      - - +
    - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/ModelLocator.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/ModelLocator.html index 76d15ab2b91..da0302bd96b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/ModelLocator.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/ModelLocator.html @@ -1,502 +1,371 @@ - - + - + +ModelLocator (Subscription - Applications - TracAPI 5.0.0 API) + -ModelLocator (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    + +
    + +

    Class ModelLocator

    +
    +
    java.lang.Object +
    com.tractrac.model.lib.api.ModelLocator
    +
    +

    -
    -
    public class ModelLocator
    -extends Object
    +
    public class ModelLocator +extends Object

    This class is a locator used to get the instance of some of the factories that are used for the creation of the objects. Is the entry point of the library, and the unique class with statics methods.

    - The principal object is the IEvent, that can be created using the - IEventFactory singleton. This object represent the model of an event. + The principal object is the IEvent, that can be created using the + IEventFactory singleton. This object represent the model of an event.

    - The implementation of the singletons has to be registered using the Service Loader pattern. If you want to add a new implementation, you + The implementation of the singletons has to be registered using the Service Loader pattern. If you want to add a new implementation, you have to create a new component, create a file with the name of the interface in META-INF/services/ and add a line with the name of the implementation.

    -
    -
    Author:
    +
    +
    Author:
    Jorge Piera Llodrá
    -
    See Also:
    -
    Locator, -Service - Loader
    -
    - +
    See Also:
    +
    + -
    -
    - + +
    +
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          ModelLocator

          -
          public ModelLocator()
          +
        • +
          +

          Constructor Details

          +
            +
          • +
            +

            ModelLocator

            +
            public ModelLocator()
            +
          +
        • -
        -
          -
        • - - -

          Method Detail

          - - - -
            -
          • -

            getEventFactory

            -
            public static IEventFactory getEventFactory()
            -
            Used to get the instance of the IEventFactory class. If there are +
          • +
            +

            Method Details

            +
              +
            • +
              +

              getEventFactory

              +
              public static IEventFactory getEventFactory()
              +
              Used to get the instance of the IEventFactory class. If there are more registered instances it returns the first one.
              -
              -
              Returns:
              -
              the instance of the IEventFactory object
              -
              Throws:
              -
              Error - a runtime exception if there are not registered instances.
              +
              +
              Returns:
              +
              the instance of the IEventFactory object
              +
              Throws:
              +
              Error - a runtime exception if there are not registered instances.
              +
            • -
            - - - -
              -
            • -

              registerEventFactory

              -
              public static void registerEventFactory(IEventFactory eventFactory)
              -
              Register a default IEventFactory.
              -
              -
              Parameters:
              +
            • +
              +

              registerEventFactory

              +
              public static void registerEventFactory(IEventFactory eventFactory)
              +
              Register a default IEventFactory.
              +
              +
              Parameters:
              eventFactory - the factory to register.
              +
            • -
            - - - -
              -
            • -

              getPathRouteFactory

              -
              public static IPathRouteFactory getPathRouteFactory()
              -
              Used to get the instance of the IPathRouteFactory class. If there +
            • +
              +

              getPathRouteFactory

              +
              public static IPathRouteFactory getPathRouteFactory()
              +
              Used to get the instance of the IPathRouteFactory class. If there are more registered instances it returns the first one.
              -
              -
              Returns:
              -
              the instance of the IPathRouteFactory object
              -
              Throws:
              -
              Error - a runtime exception if there are not registered instances.
              +
              +
              Returns:
              +
              the instance of the IPathRouteFactory object
              +
              Throws:
              +
              Error - a runtime exception if there are not registered instances.
              +
            • -
            - - - -
              -
            • -

              registerPathRouteFactory

              -
              public static void registerPathRouteFactory(IPathRouteFactory pathRouteFactory)
              -
              Register a default IPathRouteFactory.
              -
              -
              Parameters:
              +
            • +
              +

              registerPathRouteFactory

              +
              public static void registerPathRouteFactory(IPathRouteFactory pathRouteFactory)
              +
              Register a default IPathRouteFactory.
              +
              +
              Parameters:
              pathRouteFactory - the factory to register.
              +
            • -
            - - - -
              -
            • -

              getAttachmentManager

              -
              public static IAttachmentManager getAttachmentManager()
              -
              Used to get the instance of the IAttachmentManager class. If there +
            • +
              +

              getAttachmentManager

              +
              public static IAttachmentManager getAttachmentManager()
              +
              Used to get the instance of the IAttachmentManager class. If there are more registered instances it returns the first one.
              -
              -
              Returns:
              -
              the instance of the IAttachmentManager object
              -
              Throws:
              -
              Error - a runtime exception if there are not registered instances.
              +
              +
              Returns:
              +
              the instance of the IAttachmentManager object
              +
              Throws:
              +
              Error - a runtime exception if there are not registered instances.
              +
            • -
            - - - -
              -
            • -

              registerAttachmentManager

              -
              public static void registerAttachmentManager(IAttachmentManager attachmentManager)
              -
              Register a default IAttachmentManager.
              -
              -
              Parameters:
              +
            • +
              +

              registerAttachmentManager

              +
              public static void registerAttachmentManager(IAttachmentManager attachmentManager)
              +
              Register a default IAttachmentManager.
              +
              +
              Parameters:
              attachmentManager - the manager to register.
              +
            • -
            - - - -
              -
            • -

              getPositionFactory

              -
              public static IPositionFactory getPositionFactory()
              -
              Used to get the instance of the IPositionFactory class. If there +
            • +
              +

              getPositionFactory

              +
              public static IPositionFactory getPositionFactory()
              +
              Used to get the instance of the IPositionFactory class. If there are more registered instances it returns the first one.
              -
              -
              Returns:
              -
              the instance of the IPositionFactory object
              -
              Throws:
              -
              Error - a runtime exception if there are not registered instances.
              +
              +
              Returns:
              +
              the instance of the IPositionFactory object
              +
              Throws:
              +
              Error - a runtime exception if there are not registered instances.
              +
            • -
            - - - -
              -
            • -

              registerPositionFactory

              -
              public static void registerPositionFactory(IPositionFactory positionFactory)
              -
              Register a default IPositionFactory.
              -
              -
              Parameters:
              +
            • +
              +

              registerPositionFactory

              +
              public static void registerPositionFactory(IPositionFactory positionFactory)
              +
              Register a default IPositionFactory.
              +
              +
              Parameters:
              positionFactory - the factory to register.
              +
            • -
            - - - -
              -
            • -

              getMetadataFactory

              -
              public static IMetadataFactory getMetadataFactory()
              -
              Used to get the instance of the IMetadataFactory class. If there +
            • +
              +

              getMetadataFactory

              +
              public static IMetadataFactory getMetadataFactory()
              +
              Used to get the instance of the IMetadataFactory class. If there are more registered instances it returns the first one.
              -
              -
              Returns:
              -
              the instance of the IMetadataFactory object
              -
              Throws:
              -
              Error - a runtime exception if there are not registered instances.
              +
              +
              Returns:
              +
              the instance of the IMetadataFactory object
              +
              Throws:
              +
              Error - a runtime exception if there are not registered instances.
              +
            • -
            - - - -
              -
            • -

              registerMetadataFactory

              -
              public static void registerMetadataFactory(IMetadataFactory metadataFactory)
              -
              Register a default IMetadataFactory.
              -
              -
              Parameters:
              +
            • +
              +

              registerMetadataFactory

              +
              public static void registerMetadataFactory(IMetadataFactory metadataFactory)
              +
              Register a default IMetadataFactory.
              +
              +
              Parameters:
              metadataFactory - the factory to register.
              +
            +
          -
        • -
        -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/AbstractAttachable.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/AbstractAttachable.html index 52230b475ef..b03420010e3 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/AbstractAttachable.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/AbstractAttachable.html @@ -1,336 +1,233 @@ - - + - + +AbstractAttachable (Subscription - Applications - TracAPI 5.0.0 API) + -AbstractAttachable (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.attachment
    -

    Class AbstractAttachable

    + +

    Class AbstractAttachable

    -
    -
      -
    • java.lang.Object
    • -
    • -
        -
      • com.tractrac.model.lib.api.attachment.AbstractAttachable
      • -
      -
    • -
    -
    - -
    -
    - - - - - - - -
    -
    + - -
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachable.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachable.html index 86ffc6960fc..f4a48d19b74 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachable.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachable.html @@ -1,279 +1,196 @@ - - + - + +IAttachable (Subscription - Applications - TracAPI 5.0.0 API) + -IAttachable (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.attachment
    -

    Interface IAttachable

    + +

    Interface IAttachable

    -
    -
    - -
    -
    -
    -
    -
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getAttachment

          -
          <T> T getAttachment(IAttachmentKey key)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getAttachment

            +
            <T> T getAttachment(IAttachmentKey key)
            Fetches custom data for this object.
            -
            -
            Parameters:
            +
            +
            Parameters:
            key - the attachment key.
            -
            Returns:
            +
            Returns:
            custom data for this object.
            +
          • -
          - - - -
            -
          • -

            setAttachment

            -
            void setAttachment(IAttachmentKey key,
            -                   Object obj)
            +
          • +
            +

            setAttachment

            +
            void setAttachment(IAttachmentKey key, + Object obj)
            Sets custom data for this object. Previous data for this attachment key, if any, are overwritten.
            -
            -
            Parameters:
            +
            +
            Parameters:
            key - the attachment key.
            obj - the custom data to attach.
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachmentKey.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachmentKey.html index ff474f64011..4f18b03fc26 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachmentKey.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachmentKey.html @@ -1,259 +1,176 @@ - - + - + +IAttachmentKey (Subscription - Applications - TracAPI 5.0.0 API) + -IAttachmentKey (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.attachment
    -

    Interface IAttachmentKey

    + +

    Interface IAttachmentKey

    -
    -
    -
      -
    • +

      -
      -
      public interface IAttachmentKey
      +
      public interface IAttachmentKey

      An attachment key is used as a key to save a new attachment. The same key in two different object, represents the same attachment.

      -
      -
      Author:
      +
      +
      Author:
      Jesper Grooss
      -
    • -
    -
    -
    -
      -
    • + +
      +
    -
    -
      -
    • +
      int
      + +
      +
      Gets the index of the attachment.
      +
      +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getDescription

          -
          String getDescription()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getDescription

            +
            String getDescription()
            Gets a free text that describes the attachment.
            -
            -
            Returns:
            +
            +
            Returns:
            the description of the attachment
            +
          • -
          - - - -
            -
          • -

            getIndex

            -
            int getIndex()
            +
          • +
            +

            getIndex

            +
            int getIndex()
            Gets the index of the attachment. It represents the order when the key was added in runtime.
            -
            -
            Returns:
            +
            +
            Returns:
            the index of the attachment
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachmentManager.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachmentManager.html index 820afde51d3..d4e08c10c1e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachmentManager.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/IAttachmentManager.html @@ -1,274 +1,191 @@ - - + - + +IAttachmentManager (Subscription - Applications - TracAPI 5.0.0 API) + -IAttachmentManager (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.attachment
    -

    Interface IAttachmentManager

    + +

    Interface IAttachmentManager

    -
    -
    -
      -
    • -
      +
      +
      All Superinterfaces:
      -
      com.tractrac.common.lib.api.service.IServiceProvider
      +
      com.tractrac.common.lib.api.service.IServiceProvider

      -
      -
      public interface IAttachmentManager
      -extends com.tractrac.common.lib.api.service.IServiceProvider
      +
      public interface IAttachmentManager +extends com.tractrac.common.lib.api.service.IServiceProvider
      Manager interface for creation of IAttachementKey for use with the - IAttachable interface. The instance of this class can be retrieved - using the ModelLocator class.
      -
      -
      Author:
      + IAttachable interface. The instance of this class can be retrieved + using the ModelLocator class.
    +
    +
    Author:
    Jesper Grooss
    - - -
    -
    - + +
    + - - -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/AbstractAttachable.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/AbstractAttachable.html index b2309b048db..6ca895029e2 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/AbstractAttachable.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/AbstractAttachable.html @@ -1,126 +1,63 @@ - - + - + +Uses of Class com.tractrac.model.lib.api.attachment.AbstractAttachable (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.attachment.AbstractAttachable (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.attachment.AbstractAttachable

    +

    Uses of Class
    com.tractrac.model.lib.api.attachment.AbstractAttachable

    -
    No usage of com.tractrac.model.lib.api.attachment.AbstractAttachable
    - -
    - - - - - - - +No usage of com.tractrac.model.lib.api.attachment.AbstractAttachable
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachable.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachable.html index b3fe24d398c..4c64ce26f2b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachable.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachable.html @@ -1,407 +1,283 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.attachment.IAttachable (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.attachment.IAttachable (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.attachment.IAttachable

    +

    Uses of Interface
    com.tractrac.model.lib.api.attachment.IAttachable

    -
    -
    +
    + -
  • - - -

    Uses of IAttachable in com.tractrac.model.lib.api.attachment

    - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.attachment that implement IAttachable 
    Modifier and TypeClass and Description
    class AbstractAttachable -
    Abstract implementation for the IAttachable interface.
    -
    - - - - - - - - - - - - - - - - -
    Method parameters in com.tractrac.model.lib.api.attachment with type arguments of type IAttachable 
    Modifier and TypeMethod and Description
    Iterator<IAttachmentKey>IAttachmentManager.getKeys(Class<? extends IAttachable> clazz) -
    It returns all the IAttachmentKey's for an specified - IAttachable class.
    -
    IAttachmentKeyIAttachmentManager.newKey(Class<? extends IAttachable> clazz, - String description) -
    Creates a new IAttachmentKey for attach objects for a concrete +
  • +
    +

    Uses of IAttachable in com.tractrac.model.lib.api.attachment

    + +
    +
    Modifier and Type
    +
    Class
    +
    Description
    +
    class 
    + +
    +
    Abstract implementation for the IAttachable interface.
    +
    +
    +
    Method parameters in com.tractrac.model.lib.api.attachment with type arguments of type IAttachable
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    IAttachmentManager.getKeys(Class<? extends IAttachable> clazz)
    +
    +
    It returns all the IAttachmentKey's for an specified + IAttachable class.
    +
    + +
    IAttachmentManager.newKey(Class<? extends IAttachable> clazz, + String description)
    +
    +
    Creates a new IAttachmentKey for attach objects for a concrete class
    -
  • +
  • +
    + -
  • - - -

    Uses of IAttachable in com.tractrac.model.lib.api.data

    - - - - - - - - - - - - - - - - -
    Subinterfaces of IAttachable in com.tractrac.model.lib.api.data 
    Modifier and TypeInterface and Description
    interface IPosition +
  • +
    +

    Uses of IAttachable in com.tractrac.model.lib.api.data

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A geographical position in latitude-longitude coordinates, recorded at a certain time.
    -
  • interface IPositionSnapped + +
    interface 
    + +
    A snapped position is a position along a line or a route.
    -
    +
  • + + -
  • - - -

    Uses of IAttachable in com.tractrac.model.lib.api.event

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subinterfaces of IAttachable in com.tractrac.model.lib.api.event 
    Modifier and TypeInterface and Description
    interface ICompetitor +
  • +
    +

    Uses of IAttachable in com.tractrac.model.lib.api.event

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    Encapsulates data related to a Competitor of an Event.
    -
  • interface ICompetitorClass + +
    interface 
    + +
    Encapsulates data related to a Competitor Class in an Event.
    -
    interface IEvent + +
    interface 
    + +
    Encapsulates data related to an Event: Races, Competitors, Competitor Classes, Routes.
    -
    interface IRace + +
    interface 
    + +
    Encapsulates data related to a specific Race of a TracTrac Event.
    -
    interface IRaceSerie + +
    interface 
    + +
    A serie of races is a list of races that are a part of the same serie.
    -
    interface ITeam + +
    interface 
    + +
    Encapsulates data related to a Team of an Event.
    -
    + + +
  • -
  • - - -

    Uses of IAttachable in com.tractrac.model.lib.api.map

    - - - - - - - - - - - - - - - - -
    Subinterfaces of IAttachable in com.tractrac.model.lib.api.map 
    Modifier and TypeInterface and Description
    interface IMapItem +
  • +
    +

    Uses of IAttachable in com.tractrac.model.lib.api.map

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A tangible object that can be drawn in the viewer.
    -
  • interface IPositionedItem + +
    interface 
    + +
    It represents a item with an attached position, either from a tracker or a static location.
    -
    + + +
  • -
  • - - -

    Uses of IAttachable in com.tractrac.model.lib.api.route

    - - - - - - - - - - - - - - - - - - - - - - - - -
    Subinterfaces of IAttachable in com.tractrac.model.lib.api.route 
    Modifier and TypeInterface and Description
    interface IControlRoute +
  • +
    +

    Uses of IAttachable in com.tractrac.model.lib.api.route

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A route based on a number of controls/waypoints/control points.
    -
  • interface IPathRoute + +
    interface 
    + +
    A route based on a number of paths/segments/tracks/lines.
    -
    interface IRoute + +
    interface 
    + +
    - A route can be one of: IControlRoute or IPathRoute.
    -
    interface ISegment + A route can be one of: IControlRoute or IPathRoute. + +
    interface 
    + +
    - A segment is a part of an IPathRoute.
    -
    -
  • - + A segment is a part of an IPathRoute. + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachmentKey.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachmentKey.html index 229d09c0535..27a7c516cfc 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachmentKey.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachmentKey.html @@ -1,220 +1,131 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.attachment.IAttachmentKey (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.attachment.IAttachmentKey (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.attachment.IAttachmentKey

    +

    Uses of Interface
    com.tractrac.model.lib.api.attachment.IAttachmentKey

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachmentManager.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachmentManager.html index 7f1419f9617..53b780f532c 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachmentManager.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/class-use/IAttachmentManager.html @@ -1,186 +1,104 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.attachment.IAttachmentManager (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.attachment.IAttachmentManager (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.attachment.IAttachmentManager

    +

    Uses of Interface
    com.tractrac.model.lib.api.attachment.IAttachmentManager

    -
    -
    +
    +
    + +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-frame.html deleted file mode 100644 index aa5e100c08f..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-frame.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - -com.tractrac.model.lib.api.attachment (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.model.lib.api.attachment

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-summary.html index a6b9fea4010..4970832bc27 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-summary.html @@ -1,190 +1,135 @@ - - + - + +com.tractrac.model.lib.api.attachment (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.attachment (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Package com.tractrac.model.lib.api.attachment

    -
    -
    - Contains the functionality to attach an object to other object.
    +

    Package com.tractrac.model.lib.api.attachment

    -

    See: Description

    -
    -
    -
      -
    • - - - - - - - - - - - - - - - - - - - - -
      Interface Summary 
      InterfaceDescription
      IAttachable -
      - This interface adds functionality for attaching custom data to an object.
      -
      IAttachmentKey -
      - An attachment key is used as a key to save a new attachment.
      -
      IAttachmentManager -
      Manager interface for creation of IAttachementKey for use with the - IAttachable interface.
      -
      -
    • -
    • - - - - - - - - - - - - -
      Class Summary 
      ClassDescription
      AbstractAttachable -
      Abstract implementation for the IAttachable interface.
      -
      -
    • -
    - - - -

    Package com.tractrac.model.lib.api.attachment Description

    +
    +
    package com.tractrac.model.lib.api.attachment
    +

    Contains the functionality to attach an object to other object.

    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-tree.html index 2742df6e307..81821272818 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-tree.html @@ -1,149 +1,89 @@ - - + - + +com.tractrac.model.lib.api.attachment Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.attachment Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.model.lib.api.attachment

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Class Hierarchy

    +
    +

    Interface Hierarchy

      -
    • com.tractrac.model.lib.api.attachment.IAttachable
    • -
    • com.tractrac.model.lib.api.attachment.IAttachmentKey
    • -
    • com.tractrac.common.lib.api.service.IServiceProvider +
    • com.tractrac.model.lib.api.attachment.IAttachable
    • +
    • com.tractrac.model.lib.api.attachment.IAttachmentKey
    • +
    • com.tractrac.common.lib.api.service.IServiceProvider
    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-use.html index 2946a126647..3f351fde284 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/attachment/package-use.html @@ -1,299 +1,193 @@ - - + - + +Uses of Package com.tractrac.model.lib.api.attachment (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.model.lib.api.attachment (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.model.lib.api.attachment

    -
    -
    +
    +
    + -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.attachment used by com.tractrac.model.lib.api.attachment 
    Class and Description
    IAttachable +
  • +
    + +
    +
    Class
    +
    Description
    + +
    This interface adds functionality for attaching custom data to an object.
    -
  • IAttachmentKey + + +
    An attachment key is used as a key to save a new attachment.
    -
    -
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.attachment used by com.tractrac.model.lib.api.data 
    Class and Description
    IAttachable -
    - This interface adds functionality for attaching custom data to an object.
    -
    -
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.attachment used by com.tractrac.model.lib.api.event 
    Class and Description
    IAttachable -
    - This interface adds functionality for attaching custom data to an object.
    -
    -
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.attachment used by com.tractrac.model.lib.api.map 
    Class and Description
    IAttachable -
    - This interface adds functionality for attaching custom data to an object.
    -
    -
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.attachment used by com.tractrac.model.lib.api.route 
    Class and Description
    IAttachable -
    - This interface adds functionality for attaching custom data to an object.
    -
    -
  • -
    - - - - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/IIdentifiable.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/IIdentifiable.html index 9a30cc7e4ac..ba04708e368 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/IIdentifiable.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/IIdentifiable.html @@ -1,315 +1,210 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.IIdentifiable (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.IIdentifiable (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.IIdentifiable

    +

    Uses of Interface
    com.tractrac.model.lib.api.IIdentifiable

    -
    -
    +
    + -
  • - - -

    Uses of IIdentifiable in com.tractrac.model.lib.api.event

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Subinterfaces of IIdentifiable in com.tractrac.model.lib.api.event 
    Modifier and TypeInterface and Description
    interface ICompetitor +
  • +
    +

    Uses of IIdentifiable in com.tractrac.model.lib.api.event

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    Encapsulates data related to a Competitor of an Event.
    -
  • interface ICompetitorClass + +
    interface 
    + +
    Encapsulates data related to a Competitor Class in an Event.
    -
    interface IEvent + +
    interface 
    + +
    Encapsulates data related to an Event: Races, Competitors, Competitor Classes, Routes.
    -
    interface IRace + +
    interface 
    + +
    Encapsulates data related to a specific Race of a TracTrac Event.
    -
    interface IRaceSerie + +
    interface 
    + +
    A serie of races is a list of races that are a part of the same serie.
    -
    interface ITeam + +
    interface 
    + +
    Encapsulates data related to a Team of an Event.
    -
    +
  • + + -
  • - - -

    Uses of IIdentifiable in com.tractrac.model.lib.api.map

    - - - - - - - - - - - - - - - - -
    Subinterfaces of IIdentifiable in com.tractrac.model.lib.api.map 
    Modifier and TypeInterface and Description
    interface IMapItem +
  • +
    +

    Uses of IIdentifiable in com.tractrac.model.lib.api.map

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A tangible object that can be drawn in the viewer.
    -
  • interface IPositionedItem + +
    interface 
    + +
    It represents a item with an attached position, either from a tracker or a static location.
    -
    + + +
  • -
  • - - -

    Uses of IIdentifiable in com.tractrac.model.lib.api.route

    - - - - - - - - - - - - - - - - - - - - - - - - -
    Subinterfaces of IIdentifiable in com.tractrac.model.lib.api.route 
    Modifier and TypeInterface and Description
    interface IControlRoute +
  • +
    +

    Uses of IIdentifiable in com.tractrac.model.lib.api.route

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A route based on a number of controls/waypoints/control points.
    -
  • interface IPathRoute + +
    interface 
    + +
    A route based on a number of paths/segments/tracks/lines.
    -
    interface IRoute + +
    interface 
    + +
    - A route can be one of: IControlRoute or IPathRoute.
    -
    interface ISegment + A route can be one of: IControlRoute or IPathRoute. + +
    interface 
    + +
    - A segment is a part of an IPathRoute.
    -
    -
  • - + A segment is a part of an IPathRoute. + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/INamed.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/INamed.html index 4deda2a274b..bef20e4ab81 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/INamed.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/INamed.html @@ -1,288 +1,189 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.INamed (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.INamed (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.INamed

    +

    Uses of Interface
    com.tractrac.model.lib.api.INamed

    -
    -
    +
    + -
  • - - -

    Uses of INamed in com.tractrac.model.lib.api.map

    - - - - - - - - - - - - - - - - -
    Subinterfaces of INamed in com.tractrac.model.lib.api.map 
    Modifier and TypeInterface and Description
    interface IMapItem +
  • +
    +

    Uses of INamed in com.tractrac.model.lib.api.map

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A tangible object that can be drawn in the viewer.
    -
  • interface IPositionedItem + +
    interface 
    + +
    It represents a item with an attached position, either from a tracker or a static location.
    -
    +
  • + + -
  • - - -

    Uses of INamed in com.tractrac.model.lib.api.route

    - - - - - - - - - - - - - - - - - - - - - - - - -
    Subinterfaces of INamed in com.tractrac.model.lib.api.route 
    Modifier and TypeInterface and Description
    interface IControlRoute +
  • +
    +

    Uses of INamed in com.tractrac.model.lib.api.route

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A route based on a number of controls/waypoints/control points.
    -
  • interface IPathRoute + +
    interface 
    + +
    A route based on a number of paths/segments/tracks/lines.
    -
    interface IRoute + +
    interface 
    + +
    - A route can be one of: IControlRoute or IPathRoute.
    -
    interface ISegment + A route can be one of: IControlRoute or IPathRoute. + +
    interface 
    + +
    - A segment is a part of an IPathRoute.
    -
    -
  • - + A segment is a part of an IPathRoute. + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/ModelLocator.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/ModelLocator.html index 7d897a5d057..063919b20f2 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/ModelLocator.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/class-use/ModelLocator.html @@ -1,126 +1,63 @@ - - + - + +Uses of Class com.tractrac.model.lib.api.ModelLocator (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.ModelLocator (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.ModelLocator

    +

    Uses of Class
    com.tractrac.model.lib.api.ModelLocator

    -
    No usage of com.tractrac.model.lib.api.ModelLocator
    - -
    - - - - - - - +No usage of com.tractrac.model.lib.api.ModelLocator
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IControlPassing.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IControlPassing.html index 0a404835069..9f654452ce7 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IControlPassing.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IControlPassing.html @@ -1,253 +1,174 @@ - - + - + +IControlPassing (Subscription - Applications - TracAPI 5.0.0 API) + -IControlPassing (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.data
    -

    Interface IControlPassing

    + +

    Interface IControlPassing

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.data.ITimeData

    +getTimestamp
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getControl

          -
          IMapItem getControl()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getControl

            +
            IMapItem getControl()
            Returns the control that was passed
            -
            -
            Returns:
            +
            +
            Returns:
            the control that was passed
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IControlPassings.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IControlPassings.html index a20a2aa83df..3d34cb93655 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IControlPassings.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IControlPassings.html @@ -1,245 +1,170 @@ - - + - + +IControlPassings (Subscription - Applications - TracAPI 5.0.0 API) + -IControlPassings (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.data
    -

    Interface IControlPassings

    + +

    Interface IControlPassings

    -
    -
    -
      -
    • +

      -
      -
      public interface IControlPassings
      -
      A set of control passings, usually associated with a route (IControlRoute)
      -
      -
      Version:
      +
      public interface IControlPassings
      +
      A set of control passings, usually associated with a route (IControlRoute)
      +
      +
      Version:
      3.0
      -
      Author:
      +
      Author:
      Jesper Grooss
      -
      See Also:
      -
      IControlPassing
      -
      -
    • +
      See Also:
      +
      + -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getPassings

          -
          List<IControlPassing> getPassings()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getPassings

            +
            List<IControlPassing> getPassings()

            Returns a list of control passings sorted by time.

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            a list of control passings.
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IMessageData.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IMessageData.html index a03da2a8294..540a26a68ff 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IMessageData.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IMessageData.html @@ -1,113 +1,100 @@ - - + - + +IMessageData (Subscription - Applications - TracAPI 5.0.0 API) + -IMessageData (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.data
    -

    Interface IMessageData

    + +

    Interface IMessageData

    -
    -
    - -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          byte[]getBlob() +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          byte[]
          + +
          Returns the binary value of the message, if available, otherwise null.
          -
        • intgetKind() -
          Returns the kind id integer for this message object.
          -
          ObjectgetObject() -
          Returns the object related with this message (if exists)
          -
          StringgetText() -
          Returns the text value of the message, if available, otherwise null.
          -
          - -
        • -
        - -
    -
    -
      -
    • - -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getKind

          -
          int getKind()
          +
          int
          + +
          Returns the kind id integer for this message object.
          -
          -
          Returns:
          +
          + + +
          +
          Returns the object related with this message (if exists)
          +
          + + +
          +
          Returns the text value of the message, if available, otherwise null.
          +
          +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.data.ITimeData

    +getTimestamp
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getKind

        +
        int getKind()
        +
        Returns the kind id integer for this message object.
        +
        +
        Returns:
        the kind id integer for this message object.
        +
      • -
      - - - -
        -
      • -

        getObject

        -
        Object getObject()
        +
      • +
        +

        getObject

        +
        Object getObject()
        Returns the object related with this message (if exists)
        -
        -
        Returns:
        +
        +
        Returns:
        an object related with this message
        +
      • -
      - - - -
        -
      • -

        getText

        -
        String getText()
        +
      • +
        +

        getText

        +
        String getText()
        Returns the text value of the message, if available, otherwise null.
        -
        -
        Returns:
        +
        +
        Returns:
        the text value of the message, if available, otherwise null.
        +
      • -
      - - - -
        -
      • -

        getBlob

        -
        byte[] getBlob()
        +
      • +
        +

        getBlob

        +
        byte[] getBlob()
        Returns the binary value of the message, if available, otherwise null.
        -
        -
        Returns:
        +
        +
        Returns:
        the binary value of the message, if available, otherwise null.
        +
      +
    - - -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPosition.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPosition.html index 6a1e21f60be..7ad1f9f6cbc 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPosition.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPosition.html @@ -1,117 +1,104 @@ - - + - + +IPosition (Subscription - Applications - TracAPI 5.0.0 API) + -IPosition (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.data
    -

    Interface IPosition

    + +

    Interface IPosition

    -
    -
    - -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          booleanafter(IPosition position) -
          Gets is this position is after (in terms of time) other position
          -
          booleanafter(long millis) +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          boolean
          +
          after(long millis)
          +
          Gets is this position is after (in terms of time) a timestamp
          -
        • booleanbefore(IPosition position) -
          Gets is this position is before (in terms of time) other position
          -
          booleanbefore(long millis) + +
          boolean
          +
          after(IPosition position)
          +
          +
          Gets is this position is after (in terms of time) other position
          +
          +
          boolean
          +
          before(long millis)
          +
          Gets is this position is before (in terms of time) a timestamp
          -
          doublegetDirection() + +
          boolean
          +
          before(IPosition position)
          +
          +
          Gets is this position is before (in terms of time) other position
          +
          +
          double
          + +
          Returns the direction of the carrier at the time of the position.
          -
          IntegergetHACC() + + + +
          Horizontal Accuracy (HACC) represents the error of measured position compared to the absolute position of the receiver projected in the horizontal plane.
          -
          BytegetRTKStatus() -
          Gets the status of the RTK connection.
          -
          doublegetSpeed() -
          Returns the speed of the carrier at the time of the position.
          -
          DoublegetTrueHeading() -
          Returns the true heading at the time of the position.
          -
          booleanisGPSTiming() -
          Returns if the time stamp has been retrieved from a GPS device.
          -
          voidsetDirection(double direction) -
          Sets the direction
          -
          voidsetSpeed(double speed) -
          Set the speed value
          -
          - - - -
            -
          • - - -

            Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

            -getSize, serialize
          • -
          -
        • -
        - -
    -
    -
      -
    • + + +
      +
      Gets the status of the RTK connection.
      +
      +
      double
      + +
      +
      Returns the speed of the carrier at the time of the position.
      +
      + + +
      +
      Returns the true heading at the time of the position.
      +
      +
      boolean
      + +
      +
      Returns if the time stamp has been retrieved from a GPS device.
      +
      +
      void
      +
      setDirection(double direction)
      +
      +
      Sets the direction
      +
      +
      void
      +
      setSpeed(double speed)
      +
      +
      Set the speed value
      +
      +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.spatial.IGeoCoordinate

    +getHeight, getLatitude, getLongitude, getM, setHeight, setLatitude, setLongitude, setM
    +
    +

    Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

    +getSize, serialize
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.data.ITimeData

    +getTimestamp
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getSpeed

          -
          double getSpeed()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getSpeed

            +
            double getSpeed()
            Returns the speed of the carrier at the time of the position. The speed is measured in km/h.
            -
            -
            Returns:
            +
            +
            Returns:
            the speed of the carrier at the time of the position.
            +
          • -
          - - - -
            -
          • -

            setSpeed

            -
            void setSpeed(double speed)
            +
          • +
            +

            setSpeed

            +
            void setSpeed(double speed)
            Set the speed value
            -
            -
            Parameters:
            +
            +
            Parameters:
            speed - the speed value
            +
          • -
          - - - -
            -
          • -

            getDirection

            -
            double getDirection()
            +
          • +
            +

            getDirection

            +
            double getDirection()
            Returns the direction of the carrier at the time of the position.

            The direction is the 360 degree compass heading, i.e. 0 when the carrier is travelling directly north and 90 when the carrier is travelling directly east.

            -
            -
            Returns:
            +
            +
            Returns:
            the direction of the carrier at the time of the position.
            +
          • -
          - - - -
            -
          • -

            getTrueHeading

            -
            Double getTrueHeading()
            +
          • +
            +

            getTrueHeading

            +
            Double getTrueHeading()
            Returns the true heading at the time of the position. It can return null if the original tracker didn't provide this value
            -
            -
            Returns:
            +
            +
            Returns:
            the true heading of the carrier at the time of the position or null
            +
          • -
          - - - - - - - -
            -
          • -

            getHACC

            -
            Integer getHACC()
            +
          • +
            +

            getHACC

            +
            Integer getHACC()
            Horizontal Accuracy (HACC) represents the error of measured position compared to the absolute position of the receiver projected in the horizontal plane. The units are millimeters
            -
            -
            Returns:
            +
            +
            Returns:
            the Horizontal Accuracy (HACC)
            +
          • -
          - - - -
            -
          • -

            setDirection

            -
            void setDirection(double direction)
            +
          • +
            +

            setDirection

            +
            void setDirection(double direction)
            Sets the direction
            -
            -
            Parameters:
            +
            +
            Parameters:
            direction - the direction
            +
          • -
          - - - -
            -
          • -

            after

            -
            boolean after(IPosition position)
            +
          • +
            +

            after

            +
            boolean after(IPosition position)
            Gets is this position is after (in terms of time) other position
            -
            -
            Parameters:
            +
            +
            Parameters:
            position - the position to compare
            -
            Returns:
            +
            Returns:
            if the position is after the other position
            +
          • -
          - - - -
            -
          • -

            before

            -
            boolean before(IPosition position)
            +
          • +
            +

            before

            +
            boolean before(IPosition position)
            Gets is this position is before (in terms of time) other position
            -
            -
            Parameters:
            +
            +
            Parameters:
            position - the position to compare
            -
            Returns:
            +
            Returns:
            if the position is before the other position
            +
          • -
          - - - -
            -
          • -

            after

            -
            boolean after(long millis)
            +
          • +
            +

            after

            +
            boolean after(long millis)
            Gets is this position is after (in terms of time) a timestamp
            -
            -
            Parameters:
            +
            +
            Parameters:
            millis - the timestamp to compare
            -
            Returns:
            +
            Returns:
            if the position is after the timestamp
            +
          • -
          - - - -
            -
          • -

            before

            -
            boolean before(long millis)
            +
          • +
            +

            before

            +
            boolean before(long millis)
            Gets is this position is before (in terms of time) a timestamp
            -
            -
            Parameters:
            +
            +
            Parameters:
            millis - the timestamp to compare
            -
            Returns:
            +
            Returns:
            if the position is before the timestamp
            +
          • -
          - - - -
            -
          • -

            isGPSTiming

            -
            boolean isGPSTiming()
            +
          • +
            +

            isGPSTiming

            +
            boolean isGPSTiming()
            Returns if the time stamp has been retrieved from a GPS device. If not, the GPS time is an estimation.

            e.g: the static positions use the event start time and the positions from the parameters file use the tracking start time. These two types of positions use a time stamp that has not been retrieved from a GPS device.

            -
            -
            Returns:
            +
            +
            Returns:
            if the time has been retrieved from a GPS device
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionFactory.html index 753875653b3..3dae75da37b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionFactory.html @@ -1,257 +1,231 @@ - - + - + +IPositionFactory (Subscription - Applications - TracAPI 5.0.0 API) + -IPositionFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.data
    -

    Interface IPositionFactory

    + +

    Interface IPositionFactory

    -
    -
    -
      -
    • -
      +
      +
      All Superinterfaces:
      -
      com.tractrac.common.lib.api.service.IServiceProvider
      +
      com.tractrac.common.lib.api.service.IServiceProvider

      -
      -
      public interface IPositionFactory
      -extends com.tractrac.common.lib.api.service.IServiceProvider
      +
      public interface IPositionFactory +extends com.tractrac.common.lib.api.service.IServiceProvider

      - Factory used to create IPosition objects. The instance of this - factory can be retrieved using the ModelLocator class. + Factory used to create IPosition objects. The instance of this + factory can be retrieved using the ModelLocator class.

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
      See Also:
      -
      Factory
      +
      See Also:
      +
      + +
      -
    • -
    -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          IPositioncreateCompressedPosition(ByteBuffer buffer, - boolean extendedDimensions) -
          Create a compressed position from a buffer.
          -
          IPositioncreateCompressedPosition(double lon, - double lat, - double height, - double speed, - double dir) +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          + +
          createCompressedPosition(double lon, + double lat, + double height, + double speed, + double dir)
          +
          Create a compressed position that is a position that can be serialized and send by Internet.
          -
        • IPositioncreateCompressedPosition(double lon, - double lat, - double height, - double speed, - double dir, - Double trueHeading, - Double m, - Byte rtkStatus, - Integer hacc) -
          Create a compressed position that is a position that can be serialized and - send by Internet.
          -
          ICoordinatecreateCoordinate(double x, - double y) -
          Create a coordiante from a pair of coordinates
          -
          ICoordinatecreateCoordinate(double x, - double y, - double z, - double m) -
          Create a coordiante using the 4 dimensions.
          -
          IPositioncreatePosition(double lon, - double lat) -
          Create a position using the lat,lon values.
          -
          IPositioncreatePosition(double lon, - double lat, - double height, - double speed, - double dir, - double m, - long time) -
          Create a position
          -
          IPositioncreatePosition(double lon, - double lat, - double height, - double speed, - double dir, - double m, - long time, - boolean isGPSTiming, - Double trueHeading, - Byte rtkStatus, - Integer hacc) -
          Create a position
          -
          -
        • -
        - -
    -
    -
      -
    • - -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          createPosition

          -
          IPosition createPosition(double lon,
          -                         double lat,
          -                         double height,
          -                         double speed,
          -                         double dir,
          -                         double m,
          -                         long time)
          + +
          createCompressedPosition(double lon, + double lat, + double height, + double speed, + double dir, + Double trueHeading, + Double m, + Byte rtkStatus, + Integer hacc)
          +
          +
          Create a compressed position that is a position that can be serialized and + send by Internet.
          +
          + +
          createCompressedPosition(ByteBuffer buffer, + boolean extendedDimensions)
          +
          +
          Create a compressed position from a buffer.
          +
          + +
          createCoordinate(double x, + double y)
          +
          +
          Create a coordiante from a pair of coordinates
          +
          + +
          createCoordinate(double x, + double y, + double z, + double m)
          +
          +
          Create a coordiante using the 4 dimensions.
          +
          + +
          createPosition(double lon, + double lat)
          +
          +
          Create a position using the lat,lon values.
          +
          + +
          createPosition(double lon, + double lat, + double height, + double speed, + double dir, + double m, + long time)
          +
          Create a position
          -
          -
          Parameters:
          +
          + +
          createPosition(double lon, + double lat, + double height, + double speed, + double dir, + double m, + long time, + boolean isGPSTiming, + Double trueHeading, + Byte rtkStatus, + Integer hacc)
          +
          +
          Create a position
          +
          +
    +
    +
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        createPosition

        +
        IPosition createPosition(double lon, + double lat, + double height, + double speed, + double dir, + double m, + long time)
        +
        Create a position
        +
        +
        Parameters:
        lon - the longitude in decimal value
        lat - the latitude in decimal value
        height - the height in meters
        @@ -259,31 +233,28 @@ extends com.tractrac.common.lib.api.service.IServiceProvider
        dir - the direction [0-360]
        m - the value of the m coordinate (the offset)
        time - the time
        -
        Returns:
        +
        Returns:
        a position
        +
      • -
      - - - -
        -
      • -

        createPosition

        -
        IPosition createPosition(double lon,
        -                         double lat,
        -                         double height,
        -                         double speed,
        -                         double dir,
        -                         double m,
        -                         long time,
        -                         boolean isGPSTiming,
        -                         Double trueHeading,
        -                         Byte rtkStatus,
        -                         Integer hacc)
        +
      • +
        +

        createPosition

        +
        IPosition createPosition(double lon, + double lat, + double height, + double speed, + double dir, + double m, + long time, + boolean isGPSTiming, + Double trueHeading, + Byte rtkStatus, + Integer hacc)
        Create a position
        -
        -
        Parameters:
        +
        +
        Parameters:
        lon - the longitude in decimal value
        lat - the latitude in decimal value
        height - the height in meters
        @@ -295,74 +266,65 @@ extends com.tractrac.common.lib.api.service.IServiceProvider
        trueHeading - the true heading
        rtkStatus - the rtk status
        hacc - the hacc
        -
        Returns:
        +
        Returns:
        a position
        +
      • -
      - - - -
        -
      • -

        createPosition

        -
        IPosition createPosition(double lon,
        -                         double lat)
        +
      • +
        +

        createPosition

        +
        IPosition createPosition(double lon, + double lat)
        Create a position using the lat,lon values. The rest of attributes will be initialized using the default values.
        -
        -
        Parameters:
        +
        +
        Parameters:
        lon - the longitude in decimal value
        lat - the latitude in decimal value
        -
        Returns:
        +
        Returns:
        a position
        +
      • -
      - - - -
        -
      • -

        createCompressedPosition

        -
        IPosition createCompressedPosition(double lon,
        -                                   double lat,
        -                                   double height,
        -                                   double speed,
        -                                   double dir)
        +
      • +
        +

        createCompressedPosition

        +
        IPosition createCompressedPosition(double lon, + double lat, + double height, + double speed, + double dir)
        Create a compressed position that is a position that can be serialized and send by Internet. This position doesn't contain temporal information.
        -
        -
        Parameters:
        +
        +
        Parameters:
        lon - the longitude in decimal value
        lat - the latitude in decimal value
        height - the height in meters
        speed - the speed
        dir - the direction [0-360]
        -
        Returns:
        +
        Returns:
        a compressed position
        +
      • -
      - - - -
        -
      • -

        createCompressedPosition

        -
        IPosition createCompressedPosition(double lon,
        -                                   double lat,
        -                                   double height,
        -                                   double speed,
        -                                   double dir,
        -                                   Double trueHeading,
        -                                   Double m,
        -                                   Byte rtkStatus,
        -                                   Integer hacc)
        +
      • +
        +

        createCompressedPosition

        +
        IPosition createCompressedPosition(double lon, + double lat, + double height, + double speed, + double dir, + Double trueHeading, + Double m, + Byte rtkStatus, + Integer hacc)
        Create a compressed position that is a position that can be serialized and send by Internet. This position doesn't contain temporal information.
        -
        -
        Parameters:
        +
        +
        Parameters:
        lon - the longitude in decimal value
        lat - the latitude in decimal value
        height - the height in meters
        @@ -372,139 +334,73 @@ extends com.tractrac.common.lib.api.service.IServiceProvider
        m - the value of the m coordinate (the offset)
        rtkStatus - the rtk status
        hacc - the hacc
        -
        Returns:
        +
        Returns:
        a compressed position
        +
      • -
      - - - -
        -
      • -

        createCompressedPosition

        -
        IPosition createCompressedPosition(ByteBuffer buffer,
        -                                   boolean extendedDimensions)
        +
      • +
        +

        createCompressedPosition

        +
        IPosition createCompressedPosition(ByteBuffer buffer, + boolean extendedDimensions)
        Create a compressed position from a buffer. The buffer contains the minimum fields of a compressed position
        -
        -
        Parameters:
        +
        +
        Parameters:
        buffer - the buffer with the positions fields
        extendedDimensions - if the position has extended dimensions or not
        -
        Returns:
        +
        Returns:
        an intialized position.
        +
      • -
      - - - -
        -
      • -

        createCoordinate

        -
        ICoordinate createCoordinate(double x,
        -                             double y)
        +
      • +
        +

        createCoordinate

        +
        ICoordinate createCoordinate(double x, + double y)
        Create a coordiante from a pair of coordinates
        -
        -
        Parameters:
        +
        +
        Parameters:
        x - the x coordinate
        y - the y coordinate
        -
        Returns:
        +
        Returns:
        a coordinate
        +
      • -
      - - - -
        -
      • -

        createCoordinate

        -
        ICoordinate createCoordinate(double x,
        -                             double y,
        -                             double z,
        -                             double m)
        +
      • +
        +

        createCoordinate

        +
        ICoordinate createCoordinate(double x, + double y, + double z, + double m)
        Create a coordiante using the 4 dimensions.
        -
        -
        Parameters:
        +
        +
        Parameters:
        x - the x coordinate
        y - the y coordinate
        z - the z coordinate
        m - the m coordinate (the offset)
        -
        Returns:
        +
        Returns:
        a coordinate
        +
      +
    - - -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionOffset.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionOffset.html index fb9b3c20418..3918c2dc00e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionOffset.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionOffset.html @@ -1,254 +1,171 @@ - - + - + +IPositionOffset (Subscription - Applications - TracAPI 5.0.0 API) + -IPositionOffset (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.data
    -

    Interface IPositionOffset

    + +

    Interface IPositionOffset

    -
    -
    - -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          doublegetOffset() +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          double
          + +
          Returns the offset from the start of the line/route
          -
        • - -
        • -
        - -
    -
    -
      -
    • +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.data.ITimeData

    +getTimestamp
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getOffset

          -
          double getOffset()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getOffset

            +
            double getOffset()
            Returns the offset from the start of the line/route
            -
            -
            Returns:
            +
            +
            Returns:
            the offset from the start of the line/route
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionSnapped.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionSnapped.html index befdda7843a..042b5a73526 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionSnapped.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IPositionSnapped.html @@ -1,241 +1,151 @@ - - + - + +IPositionSnapped (Subscription - Applications - TracAPI 5.0.0 API) + -IPositionSnapped (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.data
    -

    Interface IPositionSnapped

    + +

    Interface IPositionSnapped

    -
    -
    - -
    -
    -
    -
    + - -
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IStartStopData.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IStartStopData.html index ae8847bbfd1..67a6f5157e3 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IStartStopData.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/IStartStopData.html @@ -1,255 +1,172 @@ - - + - + +IStartStopData (Subscription - Applications - TracAPI 5.0.0 API) + -IStartStopData (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.data
    -

    Interface IStartStopData

    + +

    Interface IStartStopData

    -
    -
    -
      -
    • +

      -
      -
      public interface IStartStopData
      +
      public interface IStartStopData
      A combination of a start and a stop time
      -
      -
      Author:
      +
      +
      Author:
      Jesper Grooss
      -
    • -
    -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          longgetStartTime() +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          long
          + +
          Returns the start time.
          -
        • longgetStopTime() -
          Returns the stop time.
          -
          -
        • -
        - -
    -
    -
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getStartTime

          -
          long getStartTime()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getStartTime

            +
            long getStartTime()
            Returns the start time.
            -
            -
            Returns:
            +
            +
            Returns:
            the start time.
            +
          • -
          - - - -
            -
          • -

            getStopTime

            -
            long getStopTime()
            +
          • +
            +

            getStopTime

            +
            long getStopTime()
            Returns the stop time.
            -
            -
            Returns:
            +
            +
            Returns:
            the stop time.
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/ITimeData.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/ITimeData.html index d24d326bb64..22db49496e7 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/ITimeData.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/ITimeData.html @@ -1,241 +1,162 @@ - - + - + +ITimeData (Subscription - Applications - TracAPI 5.0.0 API) + -ITimeData (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.data
    -

    Interface ITimeData

    + +

    Interface ITimeData

    -
    -
    - -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          longgetTimestamp() +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          long
          + +
          Returns the time stamp of the data.
          -
        • -
        • -
        - -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getTimestamp

          -
          long getTimestamp()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getTimestamp

            +
            long getTimestamp()
            Returns the time stamp of the data.
            -
            -
            Returns:
            +
            +
            Returns:
            the time stamp of the data.
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IControlPassing.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IControlPassing.html index 9004003764c..42f1e136faf 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IControlPassing.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IControlPassing.html @@ -1,172 +1,94 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.data.IControlPassing (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.data.IControlPassing (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.data.IControlPassing

    +

    Uses of Interface
    com.tractrac.model.lib.api.data.IControlPassing

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IControlPassings.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IControlPassings.html index a96fedaebf4..af9e3b6c65f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IControlPassings.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IControlPassings.html @@ -1,173 +1,95 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.data.IControlPassings (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.data.IControlPassings (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.data.IControlPassings

    +

    Uses of Interface
    com.tractrac.model.lib.api.data.IControlPassings

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IMessageData.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IMessageData.html index ee076ce52e3..4f3e97b717a 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IMessageData.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IMessageData.html @@ -1,215 +1,127 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.data.IMessageData (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.data.IMessageData (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.data.IMessageData

    +

    Uses of Interface
    com.tractrac.model.lib.api.data.IMessageData

    -
    -
    +
    + -
  • - - -

    Uses of IMessageData in com.tractrac.subscription.lib.api.race

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.race with parameters of type IMessageData 
    Modifier and TypeMethod and Description
    voidIRaceMessageListener.gotRaceMessage(IRace race, - IMessageData messageData) +
  • +
    +

    Uses of IMessageData in com.tractrac.subscription.lib.api.race

    +
    Methods in com.tractrac.subscription.lib.api.race with parameters of type IMessageData
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IRaceMessageListener.gotRaceMessage(IRace race, + IMessageData messageData)
    +
    Invoked when a new race message arrives
    -
  • -
  • - +
    + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPosition.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPosition.html index f9449bf0c03..3e952107cab 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPosition.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPosition.html @@ -1,322 +1,218 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.data.IPosition (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.data.IPosition (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.data.IPosition

    +

    Uses of Interface
    com.tractrac.model.lib.api.data.IPosition

    -
    -
    +
    + -
  • - - -

    Uses of IPosition in com.tractrac.subscription.lib.api.competitor

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.competitor with parameters of type IPosition 
    Modifier and TypeMethod and Description
    voidIPositionListener.gotPosition(IRaceCompetitor raceCompetitor, - IPosition position) +
  • +
    +

    Uses of IPosition in com.tractrac.subscription.lib.api.competitor

    +
    Methods in com.tractrac.subscription.lib.api.competitor with parameters of type IPosition
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IPositionListener.gotPosition(IRaceCompetitor raceCompetitor, + IPosition position)
    +
    Invoked when a new position arrives
    -
  • +
  • + + -
  • - - -

    Uses of IPosition in com.tractrac.subscription.lib.api.map

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.map with parameters of type IPosition 
    Modifier and TypeMethod and Description
    voidIPositionedItemPositionListener.gotPositionedItemPosition(IPositionedItem positionedItem, - IPosition position) +
  • +
    +

    Uses of IPosition in com.tractrac.subscription.lib.api.map

    +
    Methods in com.tractrac.subscription.lib.api.map with parameters of type IPosition
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IPositionedItemPositionListener.gotPositionedItemPosition(IPositionedItem positionedItem, + IPosition position)
    +
    Invoked when a new position for a control point arrives.
    -
  • -
  • - + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionFactory.html index 00ebe4af4fb..c81e45c5331 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionFactory.html @@ -1,186 +1,104 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.data.IPositionFactory (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.data.IPositionFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.data.IPositionFactory

    +

    Uses of Interface
    com.tractrac.model.lib.api.data.IPositionFactory

    -
    -
    +
    +
    + +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionOffset.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionOffset.html index 177a88d71a7..4896bf1b7d2 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionOffset.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionOffset.html @@ -1,199 +1,115 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.data.IPositionOffset (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.data.IPositionOffset (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.data.IPositionOffset

    +

    Uses of Interface
    com.tractrac.model.lib.api.data.IPositionOffset

    -
    -
    +
    + -
  • - - -

    Uses of IPositionOffset in com.tractrac.subscription.lib.api.competitor

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.competitor with parameters of type IPositionOffset 
    Modifier and TypeMethod and Description
    voidIPositionOffsetListener.gotPositionOffset(IRaceCompetitor raceCompetitor, - IPositionOffset position) +
  • +
    +

    Uses of IPositionOffset in com.tractrac.subscription.lib.api.competitor

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IPositionOffsetListener.gotPositionOffset(IRaceCompetitor raceCompetitor, + IPositionOffset position)
    +
    Invoked when a new position arrives
    -
  • -
  • - +
    + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionSnapped.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionSnapped.html index 91af7dd8504..45b85dab06c 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionSnapped.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IPositionSnapped.html @@ -1,172 +1,94 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.data.IPositionSnapped (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.data.IPositionSnapped (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.data.IPositionSnapped

    +

    Uses of Interface
    com.tractrac.model.lib.api.data.IPositionSnapped

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IStartStopData.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IStartStopData.html index 8cd68b38ff4..66c94b86772 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IStartStopData.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/IStartStopData.html @@ -1,185 +1,105 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.data.IStartStopData (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.data.IStartStopData (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.data.IStartStopData

    +

    Uses of Interface
    com.tractrac.model.lib.api.data.IStartStopData

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/ITimeData.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/ITimeData.html index d7c41b12256..163c05a3b8e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/ITimeData.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/class-use/ITimeData.html @@ -1,229 +1,141 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.data.ITimeData (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.data.ITimeData (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.data.ITimeData

    +

    Uses of Interface
    com.tractrac.model.lib.api.data.ITimeData

    -
    -
    +
    + -
  • - - -

    Uses of ITimeData in com.tractrac.model.lib.api.sensor

    - - - - - - - - - - - - -
    Subinterfaces of ITimeData in com.tractrac.model.lib.api.sensor 
    Modifier and TypeInterface and Description
    interface ISensorData +
  • +
    +

    Uses of ITimeData in com.tractrac.model.lib.api.sensor

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    This interface implements sensor data.
    -
  • -
  • - +
    + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-frame.html deleted file mode 100644 index c763e878263..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-frame.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - -com.tractrac.model.lib.api.data (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.model.lib.api.data

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-summary.html index 68d1dfe2677..e0f342b868c 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-summary.html @@ -1,213 +1,157 @@ - - + - + +com.tractrac.model.lib.api.data (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.data (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.model.lib.api.data

    +
    +
    +
    package com.tractrac.model.lib.api.data
    +

    Contains positions and control passings

    +
    +
    +
      +
    • +
    • +
    • +
      +
      Interfaces
      +
      +
      Class
      +
      Description
      + +
      +
      A control passing is a combination of a time and a control, usually the time where + a competitor passed a control of a control route.
      +
      + +
      +
      A set of control passings, usually associated with a route (IControlRoute)
      +
      + +
      +
      + A generic message object that can transfer messages either as text or as + binary large object (blob).
      +
      + +
      +
      + A geographical position in latitude-longitude coordinates, recorded at a + certain time.
      +
      + +
      +
      + Factory used to create IPosition objects.
      +
      + +
      +
      A position along the route in the form of an offset, recorded at a certain + time.
      +
      + +
      +
      A snapped position is a position along a line or a route.
      +
      + +
      +
      A combination of a start and a stop time
      +
      + +
      +
      A base interface for data classes that are related to a point in time
      +
      +
      +
      +
    • +
    +
    +
    +
    +
    + +
    +
    +
    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-tree.html index 96eab366ed6..ce501b4ab94 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-tree.html @@ -1,184 +1,122 @@ - - + - + +com.tractrac.model.lib.api.data Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.data Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.model.lib.api.data

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-use.html index 6c62eed5dad..8a1521a7378 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/data/package-use.html @@ -1,373 +1,251 @@ - - + - + +Uses of Package com.tractrac.model.lib.api.data (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.model.lib.api.data (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.model.lib.api.data

    -
    -
    +
    +
    + -
  • - - - - - - - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.data used by com.tractrac.model.lib.api.data 
    Class and Description
    IControlPassing +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A control passing is a combination of a time and a control, usually the time where a competitor passed a control of a control route.
    -
  • IPosition + + +
    A geographical position in latitude-longitude coordinates, recorded at a certain time.
    -
    IPositionOffset + + +
    A position along the route in the form of an offset, recorded at a certain time.
    -
    ITimeData + + +
    A base interface for data classes that are related to a point in time
    -
    +
  • + + -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.data used by com.tractrac.model.lib.api.sensor 
    Class and Description
    ITimeData +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A base interface for data classes that are related to a point in time
    -
  • + + +
  • -
  • - - - - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.data used by com.tractrac.subscription.lib.api.competitor 
    Class and Description
    IPosition +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A geographical position in latitude-longitude coordinates, recorded at a certain time.
    -
  • IPositionOffset + + +
    A position along the route in the form of an offset, recorded at a certain time.
    -
    IPositionSnapped + + +
    A snapped position is a position along a line or a route.
    -
    + + +
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.data used by com.tractrac.subscription.lib.api.control 
    Class and Description
    IControlPassings -
    A set of control passings, usually associated with a route (IControlRoute)
    -
    +
  • +
    + +
    +
    Class
    +
    Description
    + +
    +
    A set of control passings, usually associated with a route (IControlRoute)
    +
    +
    +
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.data used by com.tractrac.subscription.lib.api.event 
    Class and Description
    IMessageData +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A generic message object that can transfer messages either as text or as binary large object (blob).
    -
  • + + +
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.data used by com.tractrac.subscription.lib.api.map 
    Class and Description
    IPosition +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A geographical position in latitude-longitude coordinates, recorded at a certain time.
    -
  • + + +
  • -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.data used by com.tractrac.subscription.lib.api.race 
    Class and Description
    IMessageData +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A generic message object that can transfer messages either as text or as binary large object (blob).
    -
  • IStartStopData + + +
    A combination of a start and a stop time
    -
    + + +
  • + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/CreateModelException.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/CreateModelException.html index ce8bd3eaccb..c006f8c789a 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/CreateModelException.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/CreateModelException.html @@ -1,304 +1,203 @@ - - + - + +CreateModelException (Subscription - Applications - TracAPI 5.0.0 API) + -CreateModelException (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Class CreateModelException

    + +

    Class CreateModelException

    -
    - -
    -
    -
    - + +
    +
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          CreateModelException

          -
          public CreateModelException(Exception e)
          +
        • +
          +

          Constructor Details

          +
            +
          • +
            +

            CreateModelException

            +
            public CreateModelException(Exception e)
            +
          +
        • -
        - -
    -
    + - -
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/DataSource.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/DataSource.html index 7dbcf21901e..933b9b541fb 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/DataSource.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/DataSource.html @@ -1,361 +1,251 @@ - - + - + +DataSource (Subscription - Applications - TracAPI 5.0.0 API) + -DataSource (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Enum DataSource

    + +

    Enum Class DataSource

    -
    - -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    + + + + +
    +
      -
        -
      • - - -

        Enum Constant Detail

        - - - -
          -
        • -

          FILE_MTB

          -
          public static final DataSource FILE_MTB
          +
        • +
          +

          Enum Constant Details

          +
            +
          • +
            +

            FILE_MTB

            +
            public static final DataSource FILE_MTB
            +
            +
          • +
          • +
            +

            DATASERVER_TCP

            +
            public static final DataSource DATASERVER_TCP
            +
            +
          • +
          • +
            +

            DATASERVER_WEBSOCKET

            +
            public static final DataSource DATASERVER_WEBSOCKET
            +
          - - - -
            -
          • -

            DATASERVER_TCP

            -
            public static final DataSource DATASERVER_TCP
            +
        • -
        - - - -
          -
        • -

          DATASERVER_WEBSOCKET

          -
          public static final DataSource DATASERVER_WEBSOCKET
          -
        • -
        -
      • -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          values

          -
          public static DataSource[] values()
          -
          Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
          -for (DataSource c : DataSource.values())
          -    System.out.println(c);
          -
          -
          -
          Returns:
          -
          an array containing the constants of this enum type, in the order they are declared
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            values

            +
            public static DataSource[] values()
            +
            Returns an array containing the constants of this enum class, in +the order they are declared.
            +
            +
            Returns:
            +
            an array containing the constants of this enum class, in the order they are declared
            +
          • -
          - - - -
            -
          • -

            valueOf

            -
            public static DataSource valueOf(String name)
            -
            Returns the enum constant of this type with the specified name. +
          • +
            +

            valueOf

            +
            public static DataSource valueOf(String name)
            +
            Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are +enum constant in this class. (Extraneous whitespace characters are not permitted.)
            -
            -
            Parameters:
            +
            +
            Parameters:
            name - the name of the enum constant to be returned.
            -
            Returns:
            +
            Returns:
            the enum constant with the specified name
            -
            Throws:
            -
            IllegalArgumentException - if this enum type has no constant with the specified name
            -
            NullPointerException - if the argument is null
            +
            Throws:
            +
            IllegalArgumentException - if this enum class has no constant with the specified name
            +
            NullPointerException - if the argument is null
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/EventType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/EventType.html index a0057ae114a..7d496fbf1e8 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/EventType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/EventType.html @@ -1,444 +1,314 @@ - - + - + +EventType (Subscription - Applications - TracAPI 5.0.0 API) + -EventType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Enum EventType

    + +

    Enum Class EventType

    -
    - -
    -
    -
    - +
  • +
    +

    Enum Constant Summary

    +
    Enum Constants
    +
    +
    Enum Constant
    +
    Description
    + +
     
    + +
     
    + +
     
    + +
     
    + +
     
    -
    -
      -
    • +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static EventType
    + +
    +
    Gets an event type from a description (used in the web site)
    +
    +
    static EventType
    + +
    +
    Gets the event type, depending on the UUID.
    +
    + + +
     
    +
    static EventType
    + +
    +
    Returns the enum constant of this class with the specified name.
    +
    +
    static EventType[]
    + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • + + +
    +
      -
        -
      • - - -

        Enum Constant Detail

        - - - -
          -
        • -

          SAILING

          -
          public static final EventType SAILING
          +
        • +
          +

          Enum Constant Details

          +
            +
          • +
            +

            SAILING

            +
            public static final EventType SAILING
            +
            +
          • +
          • +
            +

            OFFSHORESAILING

            +
            public static final EventType OFFSHORESAILING
            +
            +
          • +
          • +
            +

            ROUTE_SPORT

            +
            public static final EventType ROUTE_SPORT
            +
            +
          • +
          • +
            +

            ORIENTEERING

            +
            public static final EventType ORIENTEERING
            +
            +
          • +
          • +
            +

            SKI

            +
            public static final EventType SKI
            +
          - - - -
            -
          • -

            OFFSHORESAILING

            -
            public static final EventType OFFSHORESAILING
            +
        • -
        - - - -
          -
        • -

          ROUTE_SPORT

          -
          public static final EventType ROUTE_SPORT
          -
        • -
        - - - -
          -
        • -

          ORIENTEERING

          -
          public static final EventType ORIENTEERING
          -
        • -
        - - - -
          -
        • -

          SKI

          -
          public static final EventType SKI
          -
        • -
        -
      • -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          values

          -
          public static EventType[] values()
          -
          Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
          -for (EventType c : EventType.values())
          -    System.out.println(c);
          -
          -
          -
          Returns:
          -
          an array containing the constants of this enum type, in the order they are declared
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            values

            +
            public static EventType[] values()
            +
            Returns an array containing the constants of this enum class, in +the order they are declared.
            +
            +
            Returns:
            +
            an array containing the constants of this enum class, in the order they are declared
            +
          • -
          - - - -
            -
          • -

            valueOf

            -
            public static EventType valueOf(String name)
            -
            Returns the enum constant of this type with the specified name. +
          • +
            +

            valueOf

            +
            public static EventType valueOf(String name)
            +
            Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are +enum constant in this class. (Extraneous whitespace characters are not permitted.)
            -
            -
            Parameters:
            +
            +
            Parameters:
            name - the name of the enum constant to be returned.
            -
            Returns:
            +
            Returns:
            the enum constant with the specified name
            -
            Throws:
            -
            IllegalArgumentException - if this enum type has no constant with the specified name
            -
            NullPointerException - if the argument is null
            +
            Throws:
            +
            IllegalArgumentException - if this enum class has no constant with the specified name
            +
            NullPointerException - if the argument is null
            +
          • -
          - - - -
            -
          • -

            getUuid

            -
            public String getUuid()
            +
          • +
            +

            getUuid

            +
            public String getUuid()
            +
          • -
          - - - -
            -
          • -

            getEventTypeByUUID

            -
            public static EventType getEventTypeByUUID(String uuid)
            +
          • +
            +

            getEventTypeByUUID

            +
            public static EventType getEventTypeByUUID(String uuid)
            Gets the event type, depending on the UUID. If the UUID doesn't exist, return null
            -
            -
            Parameters:
            +
            +
            Parameters:
            uuid - the id of the event type
            -
            Returns:
            +
            Returns:
            an event type
            +
          • -
          - - - -
            -
          • -

            getEventTypeByName

            -
            public static EventType getEventTypeByName(String name)
            +
          • +
            +

            getEventTypeByName

            +
            public static EventType getEventTypeByName(String name)
            Gets an event type from a description (used in the web site)
            -
            -
            Parameters:
            +
            +
            Parameters:
            name - the name of the sport
            -
            Returns:
            +
            Returns:
            the event type
            +
          +
        -
      • -
      -
    -
    + - -
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ICompetitor.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ICompetitor.html index ccde8623360..86cbafcc60e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ICompetitor.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ICompetitor.html @@ -1,113 +1,100 @@ - - + - + +ICompetitor (Subscription - Applications - TracAPI 5.0.0 API) + -ICompetitor (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Interface ICompetitor

    + +

    Interface ICompetitor

    -
    -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IMetadataContainer

    +getMetadata
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +getProperty
    +
    +

    Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

    +getSize, serialize
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getFirstName

          -
          @Deprecated
          -String getFirstName()
          -
          Deprecated. 
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getFirstName

            +
            @Deprecated +String getFirstName()
            +
            Deprecated.
            Returns the first name of the competitor, if any.
            -
            -
            Returns:
            +
            +
            Returns:
            Returns the first name of the competitor, can be null
            +
          • -
          - - - -
            -
          • -

            getLastName

            -
            String getLastName()
            +
          • +
            +

            getLastName

            +
            String getLastName()
            Returns the last name of the competitor. Last name is always defined, and can not be null.
            -
            -
            Returns:
            +
            +
            Returns:
            Returns the last name of the competitor.
            +
          • -
          - - - -
            -
          • -

            getShortName

            -
            String getShortName()
            +
          • +
            +

            getShortName

            +
            String getShortName()
            Returns the short name associated with this competitor. Often contains initials.
            -
            -
            Returns:
            +
            +
            Returns:
            the short name associated with this competitor
            +
          • -
          - - - -
            -
          • -

            getDescription

            -
            String getDescription()
            +
          • +
            +

            getDescription

            +
            String getDescription()
            Returns a description of the competitor.
            -
            -
            Returns:
            +
            +
            Returns:
            a short description of competitor, can be null
            +
          • -
          - - - -
            -
          • -

            getNationality

            -
            String getNationality()
            +
          • +
            +

            getNationality

            +
            String getNationality()
            Returns the nationality associated with this competitor. The nationality is returned as the 3 letter ISO abbreviation (ISO 3166-1 alpha-3).
            -
            -
            Returns:
            +
            +
            Returns:
            the nationality associated with this competitor.
            +
          • -
          - - - -
            -
          • -

            getColor

            -
            com.tractrac.util.lib.api.image.IColor getColor()
            +
          • +
            +

            getColor

            +
            com.tractrac.util.lib.api.image.IColor getColor()
            Returns the color associated with competitor, if any
            -
            -
            Returns:
            +
            +
            Returns:
            the color of the competitor, can be null
            +
          • -
          - - - -
            -
          • -

            getPicture

            -
            com.tractrac.util.lib.api.image.IImage getPicture()
            +
          • +
            +

            getPicture

            +
            com.tractrac.util.lib.api.image.IImage getPicture()
            Returns the picture associated with competitor, if any
            -
            -
            Returns:
            +
            +
            Returns:
            the picture associated with competitor, can be null
            +
          • -
          - - - -
            -
          • -

            getIcon

            -
            com.tractrac.util.lib.api.image.IImage getIcon()
            +
          • +
            +

            getIcon

            +
            com.tractrac.util.lib.api.image.IImage getIcon()
            Returns the icon associated with competitor, if any. The icon could be a logo or similar.
            -
            -
            Returns:
            +
            +
            Returns:
            the icon associated with competitor, can be null
            +
          • -
          - - - -
            -
          • -

            getTeam

            -
            ITeam getTeam()
            +
          • +
            +

            getTeam

            +
            ITeam getTeam()
            Returns the Competitor Class associated with this Competitor, if any.
            -
            -
            Returns:
            +
            +
            Returns:
            the Competitor Class associated with this Competitor, can * * * * be null.
            +
          • -
          - - - -
            -
          • -

            getCompetitorClass

            -
            ICompetitorClass getCompetitorClass()
            +
          • +
            +

            getCompetitorClass

            +
            ICompetitorClass getCompetitorClass()
            Returns the Competitor Class associated with this Competitor, if any.
            -
            -
            Returns:
            +
            +
            Returns:
            the Competitor Class associated with this Competitor, can * * * * be null.
            +
          • -
          - - - -
            -
          • -

            getHandicapToT

            -
            float getHandicapToT()
            +
          • +
            +

            getHandicapToT

            +
            float getHandicapToT()
            Gets the ToT (Time in Time) handicap
            -
            -
            Returns:
            +
            +
            Returns:
            the ToT handicap
            +
          • -
          - - - -
            -
          • -

            getHandicapToD

            -
            float getHandicapToD()
            +
          • +
            +

            getHandicapToD

            +
            float getHandicapToD()
            Gets the ToD (Time on Distance) handicap
            -
            -
            Returns:
            +
            +
            Returns:
            ToD handicap
            +
          • -
          - - - -
            -
          • -

            isFavourite

            -
            boolean isFavourite()
            +
          • +
            +

            isFavourite

            +
            boolean isFavourite()
            Returns if a competitor is considered favourite.
            -
            -
            Returns:
            +
            +
            Returns:
            If a competitor is favourite.
            +
          • -
          - - - -
            -
          • -

            isNonCompeting

            -
            boolean isNonCompeting()
            +
          • +
            +

            isNonCompeting

            +
            boolean isNonCompeting()
            Gets if the competitor can compete in the races or if it is a non competing competitor
            -
            -
            Returns:
            +
            +
            Returns:
            true if is a non competing competitor
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ICompetitorClass.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ICompetitorClass.html index 2e9cbab6020..e08b817409d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ICompetitorClass.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ICompetitorClass.html @@ -1,113 +1,100 @@ - - + - + +ICompetitorClass (Subscription - Applications - TracAPI 5.0.0 API) + -ICompetitorClass (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Interface ICompetitorClass

    + +

    Interface ICompetitorClass

    -
    -
    -
    -
    -
    -
    -
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    +
    +

    Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

    +getSize, serialize
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getDescription

        +
        String getDescription()
        +
        Returns a description.
        +
        +
        Returns:
        a short description, can be null
        +
      • -
      - - - -
        -
      • -

        getCompetitors

        -
        List<ICompetitor> getCompetitors()
        +
      • +
        +

        getCompetitors

        +
        List<ICompetitor> getCompetitors()

        Get a list of competitors in the class

        This method is thread-safety: it returns a copy of the list.

        -
        -
        Returns:
        +
        +
        Returns:
        a list with competitors
        +
      +
    - - -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IEvent.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IEvent.html index b6108893b4b..0b326d0d6b6 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IEvent.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IEvent.html @@ -1,552 +1,458 @@ - - + - + +IEvent (Subscription - Applications - TracAPI 5.0.0 API) + -IEvent (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Interface IEvent

    + +

    Interface IEvent

    -
    -
    - -
    -
    -
    -
    -
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getCompetitors

          -
          List<ICompetitor> getCompetitors()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getCompetitors

            +
            List<ICompetitor> getCompetitors()

            Returns a collection of the competitors of this event.

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            a collection of the competitors of this event.
            +
          • -
          - - - -
            -
          • -

            getCompetitor

            -
            ICompetitor getCompetitor(UUID competitorId)
            +
          • +
            +

            getCompetitor

            +
            ICompetitor getCompetitor(UUID competitorId)
            Gets the competitor by Id
            -
            -
            Parameters:
            +
            +
            Parameters:
            competitorId - the identifier
            -
            Returns:
            +
            Returns:
            the competitor found or null
            +
          • -
          - - - -
            -
          • -

            getCompetitorClasses

            -
            List<ICompetitorClass> getCompetitorClasses()
            +
          • +
            +

            getCompetitorClasses

            +
            List<ICompetitorClass> getCompetitorClasses()

            Returns a collection of the competitor classes of this event.

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            a collection of the competitor classes of this event.
            +
          • -
          - - - -
            -
          • -

            getTeams

            -
            List<ITeam> getTeams()
            +
          • +
            +

            getTeams

            +
            List<ITeam> getTeams()

            Returns a collection of the teams of this event.

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            a collection of the competitor classes of this event.
            +
          • -
          - - - -
            -
          • -

            getRaces

            -
            List<IRace> getRaces()
            +
          • +
            +

            getRaces

            +
            List<IRace> getRaces()

            Returns a collection of the races of this event.

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            a collection of the races of this event.
            +
          • -
          - - - -
            -
          • -

            getRace

            -
            IRace getRace(UUID raceId)
            +
          • +
            +

            getRace

            +
            IRace getRace(UUID raceId)
            Gets the race by Id
            -
            -
            Parameters:
            +
            +
            Parameters:
            raceId - the identifier
            -
            Returns:
            +
            Returns:
            the race found or null
            +
          • -
          - - - -
            -
          • -

            getRoutes

            -
            List<IRoute> getRoutes()
            +
          • +
            +

            getRoutes

            +
            List<IRoute> getRoutes()

            Returns a collection of the routes of this event.

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            a collection of the routes of this event.
            +
          • -
          - - - -
            -
          • -

            getRoute

            -
            IRoute getRoute(UUID routeId)
            +
          • +
            +

            getRoute

            +
            IRoute getRoute(UUID routeId)
            Gets the route by Id
            -
            -
            Parameters:
            +
            +
            Parameters:
            routeId - the identifier
            -
            Returns:
            +
            Returns:
            the route found or null
            +
          • -
          - - - -
            -
          • -

            getPositionedItems

            -
            List<IPositionedItem> getPositionedItems()
            +
          • +
            +

            getPositionedItems

            +
            List<IPositionedItem> getPositionedItems()

            Returns a collection of all the positioned items in this event.

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            a collection of all the positioned items in this event.
            +
          • -
          - - - -
            -
          • -

            getPositionedItem

            -
            IPositionedItem getPositionedItem(UUID positionedItemId)
            +
          • +
            +

            getPositionedItem

            +
            IPositionedItem getPositionedItem(UUID positionedItemId)
            Gets the positioned item by Id
            -
            -
            Parameters:
            +
            +
            Parameters:
            positionedItemId - the identifier
            -
            Returns:
            +
            Returns:
            the positioned item found or null
            +
          • -
          - - - - - - - -
            -
          • -

            getMapItem

            -
            IMapItem getMapItem(UUID mapItemId)
            +
          • +
            +

            getMapItem

            +
            IMapItem getMapItem(UUID mapItemId)
            Gets the map item by Id
            -
            -
            Parameters:
            +
            +
            Parameters:
            mapItemId - the identifier
            -
            Returns:
            +
            Returns:
            the map item found or null
            +
          • -
          - - - -
            -
          • -

            getRaceSeries

            -
            List<IRaceSerie> getRaceSeries()
            +
          • +
            +

            getRaceSeries

            +
            List<IRaceSerie> getRaceSeries()

            Gets the list of race series of this event

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            the list of race series
            +
          • -
          - - - -
            -
          • -

            getEventStartTime

            -
            long getEventStartTime()
            +
          • +
            +

            getEventStartTime

            +
            long getEventStartTime()
            Returns the event start time
            -
            -
            Returns:
            +
            +
            Returns:
            when the event starts
            +
          • -
          - - - -
            -
          • -

            getEventEndTime

            -
            long getEventEndTime()
            +
          • +
            +

            getEventEndTime

            +
            long getEventEndTime()
            Returns the event end time
            -
            -
            Returns:
            +
            +
            Returns:
            when the event ends
            +
          • -
          - - - -
            -
          • -

            getDatabase

            -
            String getDatabase()
            +
          • +
            +

            getDatabase

            +
            String getDatabase()
            An event has a name and a database name.
            -
            -
            Returns:
            +
            +
            Returns:
            the database name
            +
          • -
          - - - - - - - -
            -
          • -

            getLiveURI

            -
            URI getLiveURI()
            +
          • +
            +

            getLiveURI

            +
            URI getLiveURI()
            Gets the live URI of this event. It can be used to download live data of this event.
            -
            -
            Returns:
            +
            +
            Returns:
            the live URI
            +
          • -
          - - - -
            -
          • -

            getStoredURI

            -
            URI getStoredURI()
            +
          • +
            +

            getStoredURI

            +
            URI getStoredURI()
            Gets the stored URI of this event. It can be used to download stored data of this event.
            -
            -
            Returns:
            +
            +
            Returns:
            the stored URI
            +
          • -
          - - - -
            -
          • -

            addCompetitor

            -
            void addCompetitor(ICompetitor competitor)
            +
          • +
            +

            addCompetitor

            +
            void addCompetitor(ICompetitor competitor)
            Add a new competitor to the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            competitor - the competitor to add
            +
          • -
          - - - -
            -
          • -

            deleteCompetitor

            -
            void deleteCompetitor(UUID competitorId)
            +
          • +
            +

            deleteCompetitor

            +
            void deleteCompetitor(UUID competitorId)
            Delete a competitor from the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            competitorId - the competitor id
            +
          • -
          - - - -
            -
          • -

            updateCompetitor

            -
            ICompetitor updateCompetitor(ICompetitor competitor)
            +
          • +
            +

            updateCompetitor

            +
            ICompetitor updateCompetitor(ICompetitor competitor)
            Update a competitor
            -
            -
            Parameters:
            +
            +
            Parameters:
            competitor - the competitor to update
            -
            Returns:
            +
            Returns:
            the updated competitor
            +
          • -
          - - - -
            -
          • -

            addRace

            -
            void addRace(IRace race)
            +
          • +
            +

            addRace

            +
            void addRace(IRace race)
            Add a new race to the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            race - the race to add
            +
          • -
          - - - -
            -
          • -

            deleteRace

            -
            void deleteRace(UUID raceId)
            +
          • +
            +

            deleteRace

            +
            void deleteRace(UUID raceId)
            Delete a race from the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            raceId - the race id
            +
          • -
          - - - -
            -
          • -

            updateRace

            -
            IRace updateRace(IRace race)
            +
          • +
            +

            updateRace

            +
            IRace updateRace(IRace race)
            Update a race
            -
            -
            Parameters:
            +
            +
            Parameters:
            race - the race to update
            -
            Returns:
            +
            Returns:
            the updated race
            +
          • -
          - - - -
            -
          • -

            addControlPoint

            -
            void addControlPoint(IPositionedItem controlPoint)
            +
          • +
            +

            addControlPoint

            +
            void addControlPoint(IPositionedItem controlPoint)
            Add a new control point to the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            controlPoint - the control point to add
            +
          • -
          - - - -
            -
          • -

            addControl

            -
            void addControl(IMapItem control)
            +
          • +
            +

            addControl

            +
            void addControl(IMapItem control)
            Add a new control to the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            control - the control to add
            +
          • -
          - - - -
            -
          • -

            deleteControl

            -
            void deleteControl(UUID controlId)
            +
          • +
            +

            deleteControl

            +
            void deleteControl(UUID controlId)
            Delete a control from the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            controlId - the control id
            +
          • -
          - - - -
            -
          • -

            updateControl

            -
            IMapItem updateControl(IMapItem control)
            +
          • +
            +

            updateControl

            +
            IMapItem updateControl(IMapItem control)
            Update a control
            -
            -
            Parameters:
            +
            +
            Parameters:
            control - the control to update
            -
            Returns:
            +
            Returns:
            the updated control
            +
          • -
          - - - -
            -
          • -

            getEventType

            -
            EventType getEventType()
            +
          • +
            +

            getEventType

            +
            EventType getEventType()
            Gets the type of the event
            -
            -
            Returns:
            +
            +
            Returns:
            the event type
            +
          • -
          - - - -
            -
          • -

            getWebURL

            -
            URL getWebURL()
            +
          • +
            +

            getWebURL

            +
            URL getWebURL()
            Gets the web URL
            -
            -
            Returns:
            +
            +
            Returns:
            the web URL
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IEventFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IEventFactory.html index 7a685b18254..63d879cc58d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IEventFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IEventFactory.html @@ -1,521 +1,433 @@ - - + - + +IEventFactory (Subscription - Applications - TracAPI 5.0.0 API) + -IEventFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Interface IEventFactory

    + +

    Interface IEventFactory

    -
    -
    -
      -
    • -
      +
      +
      All Superinterfaces:
      -
      com.tractrac.common.lib.api.service.IServiceProvider
      +
      com.tractrac.common.lib.api.service.IServiceProvider

      -
      -
      public interface IEventFactory
      -extends com.tractrac.common.lib.api.service.IServiceProvider
      +
      public interface IEventFactory +extends com.tractrac.common.lib.api.service.IServiceProvider

      - Factory used to create an IEvent. The instance of this factory can be - retrieved using the ModelLocator class. + Factory used to create an IEvent. The instance of this factory can be + retrieved using the ModelLocator class.

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
      See Also:
      -
      Factory
      -
      -
    • +
      See Also:
      +
      + -
    -
    -
      -
    • + + + +
      +
    -
    -
    + +
    createEventsForClubs(String apiToken, + URI jsonWithClubs)
    +
    It creates a list of events using a JSON with clubs
    -
    -
    Parameters:
    -
    jsonWithClubs - the json file
    -
    Returns:
    -
    a list of events
    -
    Throws:
    -
    CreateModelException - if there is any error creating the model
    -
    - - - - - -
      -
    • -

      createEvent

      -
      IEvent createEvent(URI jsonWithRaces)
      -            throws CreateModelException
      -
      It creates an event object using the JSON with races.
      -
      -
      Parameters:
      -
      jsonWithRaces - the json file
      -
      Returns:
      -
      an event
      -
      Throws:
      -
      CreateModelException - if there is any error creating the model
      -
      -
    • -
    - - - -
      -
    • -

      createRace

      -
      IRace createRace(URI parametersURI)
      -          throws CreateModelException
      -
      Creates an IRace from a parameters file. It waits forever to download the - requested parameters file
      -
      -
      Parameters:
      -
      parametersURI - the parameters file
      -
      Returns:
      -
      a race
      -
      Throws:
      -
      CreateModelException - if there is any error creating the model
      -
      -
    • -
    - - - -
      -
    • -

      createRace

      -
      IRace createRace(URI parametersURI,
      -                 int timeout)
      -          throws CreateModelException,
      -                 com.tractrac.util.lib.api.exceptions.TimeOutException
      -
      Creates an IRace from a parameters file
      -
      -
      Parameters:
      -
      parametersURI - the parameters file
      -
      timeout - the timeout in milliseconds used to download the parameters file
      -
      Returns:
      -
      a race
      -
      Throws:
      -
      CreateModelException - if there is any error creating the model
      -
      com.tractrac.util.lib.api.exceptions.TimeOutException - when the factory gets a timeout downloading an external resource.
      -
      -
    • -
    - - - -
      -
    • -

      createRace

      -
      IRace createRace(URI parametersURI,
      -                 URI liveUri,
      -                 URI storedUri)
      -          throws CreateModelException
      -
      Creates an IRace from a parameters file. It waits forever to download the - requested parameters file
      -
      -
      Parameters:
      -
      parametersURI - the parameters file
      -
      liveUri - the uri where the live provider is located
      -
      storedUri - the uri where the stored provider is located
      -
      Returns:
      -
      a race
      -
      Throws:
      -
      CreateModelException - if there is any error creating the model
      -
      -
    • -
    - - - -
      -
    • -

      createRace

      -
      IRace createRace(URI parametersURI,
      -                 int timeout,
      -                 URI liveUri,
      -                 URI storedUri)
      -          throws CreateModelException,
      -                 com.tractrac.util.lib.api.exceptions.TimeOutException
      -
      Creates an IRace from a parameters file
      -
      -
      Parameters:
      -
      parametersURI - the parameters file
      -
      timeout - the timeout in milliseconds used to download the parameters file
      -
      liveUri - the uri where the live provider is located
      -
      storedUri - the uri where the stored provider is located
      -
      Returns:
      -
      a race
      -
      Throws:
      -
      CreateModelException - if there is any error creating the model
      -
      com.tractrac.util.lib.api.exceptions.TimeOutException - when the factory gets a timeout downloading an external resource.
      -
      -
    • -
    - - - -
      -
    • -

      createRace

      -
      IRace createRace(com.tractrac.util.lib.api.programparameters.IParameterSet parameterSet)
      -          throws CreateModelException
      -
      Creates an IRace from a set of parameters
      -
      -
      Parameters:
      -
      parameterSet - the set of parameters
      -
      Returns:
      -
      a race
      -
      Throws:
      -
      CreateModelException - if there is any error creating the model
      -
      -
    • -
    - - - -
      -
    • -

      createRace

      -
      IRace createRace(com.tractrac.util.lib.api.programparameters.IParameterSet parameterSet,
      -                 URI liveUri,
      -                 URI storedUri)
      -          throws CreateModelException
      -
      Creates an IRace from a set of parameters
      -
      -
      Parameters:
      -
      parameterSet - the set of parameters
      -
      liveUri - the uri where the live provider is located
      -
      storedUri - the uri where the stored provider is located
      -
      Returns:
      -
      a race
      -
      Throws:
      -
      CreateModelException - if there is any error creating the model
      -
      -
    • -
    - - - -
      -
    • -

      deleteCache

      -
      void deleteCache()
      +
    + +
    createRace(String apiToken, + com.tractrac.util.lib.api.programparameters.IParameterSet parameterSet)
    +
    +
    Creates an IRace from a set of parameters
    +
    + +
    createRace(String apiToken, + com.tractrac.util.lib.api.programparameters.IParameterSet parameterSet, + URI liveUri, + URI storedUri)
    +
    +
    Creates an IRace from a set of parameters
    +
    + +
    createRace(String apiToken, + URI parametersURI)
    +
    +
    Creates an IRace from a parameters file.
    +
    + +
    createRace(String apiToken, + URI parametersURI, + int timeout)
    +
    +
    Creates an IRace from a parameters file
    +
    + +
    createRace(String apiToken, + URI parametersURI, + int timeout, + URI liveUri, + URI storedUri)
    +
    +
    Creates an IRace from a parameters file
    +
    + +
    createRace(String apiToken, + URI parametersURI, + URI liveUri, + URI storedUri)
    +
    +
    Creates an IRace from a parameters file.
    +
    +
    void
    + +
    Deletes all the cached objects that has been created
    +
    +
    int
    + +
    +
    Gets the number of milliseconds of the default timeout that has this + IEventFactory that is used to download the different + resources
    +
    +
    +
    +
    + - - - -
      -
    • -

      getDefaultTimeOut

      -
      int getDefaultTimeOut()
      + +
      +
        + +
      • +
        +

        Method Details

        +
          +
        • +
          +

          createEvents

          +
          List<IEvent> createEvents(String apiToken, + URI jsonWithEvents) + throws CreateModelException
          +
          It creates a list of events using a JSON with events.
          +
          +
          Parameters:
          +
          apiToken - a valid API token to retrieve data from this event
          +
          jsonWithEvents - the json file
          +
          Returns:
          +
          a list of events
          +
          Throws:
          +
          CreateModelException - if there is any error creating the model
          +
          +
          +
        • +
        • +
          +

          createEventsForClubs

          +
          List<IEvent> createEventsForClubs(String apiToken, + URI jsonWithClubs) + throws CreateModelException
          +
          It creates a list of events using a JSON with clubs
          +
          +
          Parameters:
          +
          apiToken - a valid API token to retrieve data from this event
          +
          jsonWithClubs - the json file
          +
          Returns:
          +
          a list of events
          +
          Throws:
          +
          CreateModelException - if there is any error creating the model
          +
          +
          +
        • +
        • +
          +

          createEvent

          +
          IEvent createEvent(String apiToken, + URI jsonWithRaces) + throws CreateModelException
          +
          It creates an event object using the JSON with races. + a valid API key to retrieve data from this event
          +
          +
          Parameters:
          +
          apiToken - a valid API token to retrieve data from this event
          +
          jsonWithRaces - the json file
          +
          Returns:
          +
          an event
          +
          Throws:
          +
          CreateModelException - if there is any error creating the model
          +
          +
          +
        • +
        • +
          +

          createRace

          +
          IRace createRace(String apiToken, + URI parametersURI) + throws CreateModelException
          +
          Creates an IRace from a parameters file. It waits forever to download the + requested parameters file
          +
          +
          Parameters:
          +
          apiToken - a valid API token to retrieve data from this event
          +
          parametersURI - the parameters file
          +
          Returns:
          +
          a race
          +
          Throws:
          +
          CreateModelException - if there is any error creating the model
          +
          +
          +
        • +
        • +
          +

          createRace

          +
          IRace createRace(String apiToken, + URI parametersURI, + int timeout) + throws CreateModelException, +com.tractrac.util.lib.api.exceptions.TimeOutException
          +
          Creates an IRace from a parameters file
          +
          +
          Parameters:
          +
          apiToken - a valid API token to retrieve data from this event
          +
          parametersURI - the parameters file
          +
          timeout - the timeout in milliseconds used to download the parameters file
          +
          Returns:
          +
          a race
          +
          Throws:
          +
          CreateModelException - if there is any error creating the model
          +
          com.tractrac.util.lib.api.exceptions.TimeOutException - when the factory gets a timeout downloading an external resource.
          +
          +
          +
        • +
        • +
          +

          createRace

          +
          IRace createRace(String apiToken, + URI parametersURI, + URI liveUri, + URI storedUri) + throws CreateModelException
          +
          Creates an IRace from a parameters file. It waits forever to download the + requested parameters file
          +
          +
          Parameters:
          +
          apiToken - a valid API token to retrieve data from this event
          +
          parametersURI - the parameters file
          +
          liveUri - the uri where the live provider is located
          +
          storedUri - the uri where the stored provider is located
          +
          Returns:
          +
          a race
          +
          Throws:
          +
          CreateModelException - if there is any error creating the model
          +
          +
          +
        • +
        • +
          +

          createRace

          +
          IRace createRace(String apiToken, + URI parametersURI, + int timeout, + URI liveUri, + URI storedUri) + throws CreateModelException, +com.tractrac.util.lib.api.exceptions.TimeOutException
          +
          Creates an IRace from a parameters file
          +
          +
          Parameters:
          +
          apiToken - a valid API token to retrieve data from this event
          +
          parametersURI - the parameters file
          +
          timeout - the timeout in milliseconds used to download the parameters file
          +
          liveUri - the uri where the live provider is located
          +
          storedUri - the uri where the stored provider is located
          +
          Returns:
          +
          a race
          +
          Throws:
          +
          CreateModelException - if there is any error creating the model
          +
          com.tractrac.util.lib.api.exceptions.TimeOutException - when the factory gets a timeout downloading an external resource.
          +
          +
          +
        • +
        • +
          +

          createRace

          +
          IRace createRace(String apiToken, + com.tractrac.util.lib.api.programparameters.IParameterSet parameterSet) + throws CreateModelException
          +
          Creates an IRace from a set of parameters
          +
          +
          Parameters:
          +
          apiToken - a valid API token to retrieve data from this event
          +
          parameterSet - the set of parameters
          +
          Returns:
          +
          a race
          +
          Throws:
          +
          CreateModelException - if there is any error creating the model
          +
          +
          +
        • +
        • +
          +

          createRace

          +
          IRace createRace(String apiToken, + com.tractrac.util.lib.api.programparameters.IParameterSet parameterSet, + URI liveUri, + URI storedUri) + throws CreateModelException
          +
          Creates an IRace from a set of parameters
          +
          +
          Parameters:
          +
          apiToken - a valid API token to retrieve data from this event
          +
          parameterSet - the set of parameters
          +
          liveUri - the uri where the live provider is located
          +
          storedUri - the uri where the stored provider is located
          +
          Returns:
          +
          a race
          +
          Throws:
          +
          CreateModelException - if there is any error creating the model
          +
          +
          +
        • +
        • +
          +

          deleteCache

          +
          void deleteCache()
          +
          Deletes all the cached objects that has been created
          +
          +
        • +
        • +
          +

          getDefaultTimeOut

          +
          int getDefaultTimeOut()
          Gets the number of milliseconds of the default timeout that has this - IEventFactory that is used to download the different + IEventFactory that is used to download the different resources
          -
          -
          Returns:
          +
          +
          Returns:
          the default timeout in milliseconds
          +
        +
      -
    • -
    - - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRace.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRace.html index 20d73153526..709ada96fc1 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRace.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRace.html @@ -1,113 +1,100 @@ - - + - + +IRace (Subscription - Applications - TracAPI 5.0.0 API) + -IRace (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Interface IRace

    + +

    Interface IRace

    -
    -
    - -
    -
    -
    -
    -
    +
    +
    +
    +

    Methods inherited from interface java.lang.Comparable

    +compareTo
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IMetadataContainer

    +getMetadata
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +getProperty
    +
    +

    Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

    +getSize, serialize
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getEvent

          -
          IEvent getEvent()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getEvent

            +
            IEvent getEvent()
            Gets the event that contains the race
            -
            -
            Returns:
            +
            +
            Returns:
            the event that contains the race
            +
          • -
          - - - -
            -
          • -

            getRaceCompetitors

            -
            List<IRaceCompetitor> getRaceCompetitors()
            +
          • +
            +

            getRaceCompetitors

            +
            List<IRaceCompetitor> getRaceCompetitors()

            Returns the competitors that participate in this race.

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            the competitors that participate in this race.
            +
          • -
          - - - -
            -
          • -

            getRaceCompetitor

            -
            IRaceCompetitor getRaceCompetitor(UUID competitorId)
            +
          • +
            +

            getRaceCompetitor

            +
            IRaceCompetitor getRaceCompetitor(UUID competitorId)
            Returns a race competitor by competitor id
            -
            -
            Parameters:
            +
            +
            Parameters:
            competitorId - the competitor id
            -
            Returns:
            +
            Returns:
            the race competitor
            +
          • -
          - - - - - - - - - - - -
            -
          • -

            getTrackingStartTime

            -
            long getTrackingStartTime()
            +
          • +
            +

            getTrackingStartTime

            +
            long getTrackingStartTime()
            Start of tracking time can be set before start of race time in case it is interesting to follow what happens up til the start time of the race. @@ -533,19 +438,16 @@ extends
            -
            -
            Returns:
            +
            +
            Returns:
            the tracking start time
            +
          • -
          - - - - - - - -
            -
          • -

            getExpectedRaceStartDate

            -
            long getExpectedRaceStartDate()
            +
          • +
            +

            getExpectedRaceStartDate

            +
            long getExpectedRaceStartDate()

            It returns the expected date when the race starts. It always returns a datetime value with the time at 00:00:00.

            -
            -
            Returns:
            +
            +
            Returns:
            the estimated race start date
            +
          • -
          - - - -
            -
          • -

            getRoutes

            -
            List<IRoute> getRoutes()
            +
          • +
            +

            getRoutes

            +
            List<IRoute> getRoutes()

            Gets the routes of this race

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            a list of routes
            +
          • -
          - - - -
            -
          • -

            getDefaultRoute

            -
            IRoute getDefaultRoute()
            +
          • +
            +

            getDefaultRoute

            +
            IRoute getDefaultRoute()
            Gets the default route
            -
            -
            Returns:
            +
            +
            Returns:
            a default route
            +
          • -
          - - - - - - - - - - - - - - - - - - - -
            -
          • -

            getParameterSet

            -
            com.tractrac.util.lib.api.programparameters.IParameterSet getParameterSet()
            +
          • +
            +

            getParameterSet

            +
            com.tractrac.util.lib.api.programparameters.IParameterSet getParameterSet()
            Returns the parameters used to create this event.
            -
            -
            Returns:
            +
            +
            Returns:
            a set of parameters
            +
          • -
          - - - -
            -
          • -

            getParamsURI

            -
            URI getParamsURI()
            +
          • +
            +

            getParamsURI

            +
            URI getParamsURI()
            Gets the parameters file used to load this race
            -
            -
            Returns:
            +
            +
            Returns:
            the parameters file
            +
          • -
          - - - -
            -
          • -

            getStoredURI

            -
            URI getStoredURI()
            +
          • +
            +

            getStoredURI

            +
            URI getStoredURI()
            Gets the stored URI of this race. It can be used to download stored data of this race. It can be a connection to the database or a link to a MTB file
            -
            -
            Returns:
            +
            +
            Returns:
            the stored URI
            +
          • -
          - - - -
            -
          • -

            getLiveURI

            -
            URI getLiveURI()
            +
          • +
            +

            getLiveURI

            +
            URI getLiveURI()
            Gets the live URI of this race.
            -
            -
            Returns:
            +
            +
            Returns:
            the live URI
            +
          • -
          - - - -
            -
          • -

            getRaceSerie

            -
            IRaceSerie getRaceSerie()
            +
          • +
            +

            getRaceSerie

            +
            IRaceSerie getRaceSerie()
            If the race is a part of a serie.
            -
            -
            Returns:
            +
            +
            Returns:
            the serie
            +
          • -
          - - - -
            -
          • -

            addRaceCompetitor

            -
            void addRaceCompetitor(IRaceCompetitor raceCompetitor)
            +
          • +
            +

            addRaceCompetitor

            +
            void addRaceCompetitor(IRaceCompetitor raceCompetitor)
            Add a new race competitor to the race
            -
            -
            Parameters:
            +
            +
            Parameters:
            raceCompetitor - the race competitor to add
            +
          • -
          - - - -
            -
          • -

            updateRaceCompetitor

            -
            IRaceCompetitor updateRaceCompetitor(IRaceCompetitor raceCompetitor)
            +
          • +
            +

            updateRaceCompetitor

            +
            IRaceCompetitor updateRaceCompetitor(IRaceCompetitor raceCompetitor)
            Updates a race competitor
            -
            -
            Parameters:
            +
            +
            Parameters:
            raceCompetitor - the race competitor to add
            -
            Returns:
            +
            Returns:
            the new race competitor
            +
          • -
          - - - -
            -
          • -

            deleteRaceCompetitor

            -
            void deleteRaceCompetitor(UUID competitorId)
            +
          • +
            +

            deleteRaceCompetitor

            +
            void deleteRaceCompetitor(UUID competitorId)
            Delete a race competitor from the race
            -
            -
            Parameters:
            +
            +
            Parameters:
            competitorId - the competitor id
            +
          • -
          - - - - - - - -
            -
          • -

            getLiveDelay

            -
            int getLiveDelay()
            +
          • +
            +

            getLiveDelay

            +
            int getLiveDelay()
            Returns the live delay in seconds. The live delay is the number of seconds that this race needs to be delayed when it is reproduced in live time. This value is retrieved from the parameters file. If this file has not been processed, this method returns -1.
            -
            -
            Returns:
            +
            +
            Returns:
            the live delay.
            +
          • -
          - - - -
            -
          • -

            isInitialized

            -
            boolean isInitialized()
            +
          • +
            +

            isInitialized

            +
            boolean isInitialized()

            This value means if the race has been initialized. In practice, if this value returns false, the tracking start time and the tracking end time are null and there are not positions attached to this race.

            -
            -
            Returns:
            +
            +
            Returns:
            if the race has been initialized
            +
          • -
          - - - -
            -
          • -

            setInitialized

            -
            void setInitialized(boolean initialized)
            +
          • +
            +

            setInitialized

            +
            void setInitialized(boolean initialized)

            Sets a race to an initialized state. From this moment it will be possible to establish a connection with the server in order to retrieve control point positions (the competitor positions can not be retrieved if the race is not initialized).

            -
            -
            Parameters:
            +
            +
            Parameters:
            initialized - update the state of initialization of a race
            +
          • -
          - - - -
            -
          • -

            setDatasourceURIs

            -
            void setDatasourceURIs(URI liveURI,
            -                       URI storedURI,
            -                       URI wsURI)
            +
          • +
            +

            setDatasourceURIs

            +
            void setDatasourceURIs(URI liveURI, + URI storedURI, + URI wsURI)
            Sets the datasources used to load data
            -
            -
            Parameters:
            +
            +
            Parameters:
            liveURI - the live URI
            storedURI - the stored URI
            wsURI - the web sockets URI
            +
          • -
          - - - - - - - -
            -
          • -

            getDataSource

            -
            DataSource getDataSource()
            +
          • +
            +

            getDataSource

            +
            DataSource getDataSource()
            Gets the datasource used to retrieve data for the race
            -
            -
            Returns:
            +
            +
            Returns:
            the datasource
            +
          • -
          - - - -
            -
          • -

            getExtent

            -
            IExtent getExtent()
            +
          • +
            +

            getExtent

            +
            IExtent getExtent()
            Gets the extent where the race is going to be celebrated
            -
            -
            Returns:
            +
            +
            Returns:
            the extent
            +
          • -
          - - - -
            -
          • -

            getCourseArea

            -
            String getCourseArea()
            -
            -
            Returns:
            +
          • +
            +

            getCourseArea

            +
            String getCourseArea()
            +
            +
            Returns:
            Course area name
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRaceCompetitor.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRaceCompetitor.html index 0a757709c47..98a3f835493 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRaceCompetitor.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRaceCompetitor.html @@ -1,113 +1,100 @@ - - + - + +IRaceCompetitor (Subscription - Applications - TracAPI 5.0.0 API) + -IRaceCompetitor (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Interface IRaceCompetitor

    + +

    Interface IRaceCompetitor

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IMetadataContainer

    +getMetadata
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +getProperty
    +
    +

    Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

    +getSize, serialize
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getCompetitor

          -
          ICompetitor getCompetitor()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getCompetitor

            +
            ICompetitor getCompetitor()
            Returns the competitor in the race.
            -
            -
            Returns:
            +
            +
            Returns:
            the competitor in the race.
            +
          • -
          - - - -
            -
          • -

            getRoute

            -
            IRoute getRoute()
            +
          • +
            +

            getRoute

            +
            IRoute getRoute()
            Returns the route that this competitor is assigned to, if any.
            -
            -
            Returns:
            +
            +
            Returns:
            the route that this competitor is assigned to, can * * * * * * * * be null.
            +
          • -
          - - - -
            -
          • -

            getRace

            -
            IRace getRace()
            +
          • +
            +

            getRace

            +
            IRace getRace()
            Returns the race that contains this race competitor
            -
            -
            Returns:
            +
            +
            Returns:
            the race
            +
          • -
          - - - -
            -
          • -

            getStartTime

            -
            long getStartTime()
            +
          • +
            +

            getStartTime

            +
            long getStartTime()
            Returns the start time of this competitor. If the start time equals the race start time, this is null.
            -
            -
            Returns:
            +
            +
            Returns:
            the start time of this competitor, can be null.
            +
          • -
          - - - - - - - - - - - -
            -
          • -

            getStatusLastChangedTime

            -
            long getStatusLastChangedTime()
            +
          • +
            +

            getStatusLastChangedTime

            +
            long getStatusLastChangedTime()

            Gets the time stamp when the race competitor status returned by {this.getStatus} was updated

            @@ -346,107 +286,44 @@ extends - - -
              -
            • -

              getOfficialRank

              -
              int getOfficialRank()
              +
            • +
              +

              getOfficialRank

              +
              int getOfficialRank()
              Gets the official rank when it is defined. If it is not greater than 0, means null
              -
              -
              Returns:
              +
              +
              Returns:
              the official rank
              +
            • -
            - - - -
              -
            • -

              getOfficialFinishTime

              -
              long getOfficialFinishTime()
              +
            • +
              +

              getOfficialFinishTime

              +
              long getOfficialFinishTime()
              Gets the official finish time when it is defined. If it is not greater than 0, means null
              -
              -
              Returns:
              +
              +
              Returns:
              the official finish time
              +
            +
          -
        • -
        -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRaceSerie.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRaceSerie.html index 946ab2c410d..be88f082c2f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRaceSerie.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/IRaceSerie.html @@ -1,269 +1,178 @@ - - + - + +IRaceSerie (Subscription - Applications - TracAPI 5.0.0 API) + -IRaceSerie (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Interface IRaceSerie

    + +

    Interface IRaceSerie

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getRaces

          -
          List<IRace> getRaces()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getRaces

            +
            List<IRace> getRaces()

            Gets the list of races that compose the serie

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            the races of the serie
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ITeam.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ITeam.html index dbeb4dfdf18..df3c9d5fdd0 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ITeam.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/ITeam.html @@ -1,343 +1,240 @@ - - + - + +ITeam (Subscription - Applications - TracAPI 5.0.0 API) + -ITeam (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Interface ITeam

    + +

    Interface ITeam

    -
    -
    -
      -
    • -
      +
      +
      All Superinterfaces:
      -
      IAttachable, IIdentifiable, INamed, com.tractrac.util.lib.api.serialize.ISerializable
      +
      IAttachable, IIdentifiable, INamed, com.tractrac.util.lib.api.serialize.ISerializable

      -
      -
      public interface ITeam
      -extends INamed, com.tractrac.util.lib.api.serialize.ISerializable
      +
      public interface ITeam +extends INamed, com.tractrac.util.lib.api.serialize.ISerializable

      Encapsulates data related to a Team of an Event.

      - Every ICompetitor can belong to a team, and one team can contain more + Every ICompetitor can belong to a team, and one team can contain more than one competitor.

      A team has a unique id and a name.

      -
      -
      Version:
      +
      +
      Version:
      3.0
      -
      Author:
      +
      Author:
      Jesper Grooss
      -
      See Also:
      -
      ICompetitor
      +
      See Also:
      +
      + +
      -
    • -
    -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          StringgetDescription() +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          + + +
          Returns a description.
          -
        • com.tractrac.util.lib.api.image.IImagegetIcon() -
          Returns the icon associated with team, if any.
          -
          StringgetNationality() -
          Returns the nationality.
          -
          com.tractrac.util.lib.api.image.IImagegetPicture() -
          Returns the picture associated with team, if any
          -
          -
            -
          • - - -

            Methods inherited from interface com.tractrac.model.lib.api.INamed

            -getName
          • -
          - - -
            -
          • - - -

            Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

            -getSize, serialize
          • -
          -
        • -
        - -
    -
    -
      -
    • +
      com.tractrac.util.lib.api.image.IImage
      + +
      +
      Returns the icon associated with team, if any.
      +
      + + +
      +
      Returns the nationality.
      +
      +
      com.tractrac.util.lib.api.image.IImage
      + +
      +
      Returns the picture associated with team, if any
      +
      +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    +
    +

    Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

    +getSize, serialize
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getDescription

          -
          String getDescription()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getDescription

            +
            String getDescription()
            Returns a description.
            -
            -
            Returns:
            +
            +
            Returns:
            a short description, can be null
            +
          • -
          - - - -
            -
          • -

            getNationality

            -
            String getNationality()
            +
          • +
            +

            getNationality

            +
            String getNationality()
            Returns the nationality. The nationality is returned as the 3 letter ISO abbreviation (ISO 3166-1 alpha-3).
            -
            -
            Returns:
            +
            +
            Returns:
            the nationality.
            +
          • -
          - - - -
            -
          • -

            getPicture

            -
            com.tractrac.util.lib.api.image.IImage getPicture()
            +
          • +
            +

            getPicture

            +
            com.tractrac.util.lib.api.image.IImage getPicture()
            Returns the picture associated with team, if any
            -
            -
            Returns:
            +
            +
            Returns:
            the picture associated with team, can be null
            +
          • -
          - - - -
            -
          • -

            getIcon

            -
            com.tractrac.util.lib.api.image.IImage getIcon()
            +
          • +
            +

            getIcon

            +
            com.tractrac.util.lib.api.image.IImage getIcon()
            Returns the icon associated with team, if any. The icon could be a logo or similar.
            -
            -
            Returns:
            +
            +
            Returns:
            the icon associated with team, can be null
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceCompetitorStatusType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceCompetitorStatusType.html index fbf5ef058ff..7b917aef81d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceCompetitorStatusType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceCompetitorStatusType.html @@ -1,653 +1,447 @@ - - + - + +RaceCompetitorStatusType (Subscription - Applications - TracAPI 5.0.0 API) + -RaceCompetitorStatusType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Enum RaceCompetitorStatusType

    + +

    Enum Class RaceCompetitorStatusType

    -
    - -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    + + + + +
    + -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceLoadingException.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceLoadingException.html index efe71fd3d96..dff84c6ee54 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceLoadingException.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceLoadingException.html @@ -1,269 +1,175 @@ - - + - + +RaceLoadingException (Subscription - Applications - TracAPI 5.0.0 API) + -RaceLoadingException (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Class RaceLoadingException

    + +

    Class RaceLoadingException

    -
    - -
    - -
    -
    -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Constructor Detail

          - - - -
            -
          • -

            RaceLoadingException

            -
            public RaceLoadingException(String message)
            +
          • +
            +

            Constructor Details

            +
              +
            • +
              +

              RaceLoadingException

              +
              public RaceLoadingException(String message)
              +
            +
          -
        • -
        -
    -
    + - -
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceStatusType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceStatusType.html index 58909a0ad4d..a6a594a2310 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceStatusType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceStatusType.html @@ -1,126 +1,105 @@ - - + - + +RaceStatusType (Subscription - Applications - TracAPI 5.0.0 API) + -RaceStatusType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Enum RaceStatusType

    + +

    Enum Class RaceStatusType

    -
    - -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    + + + + +
    +
      - -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          values

          -
          public static RaceStatusType[] values()
          -
          Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
          -for (RaceStatusType c : RaceStatusType.values())
          -    System.out.println(c);
          -
          -
          -
          Returns:
          -
          an array containing the constants of this enum type, in the order they are declared
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            values

            +
            public static RaceStatusType[] values()
            +
            Returns an array containing the constants of this enum class, in +the order they are declared.
            +
            +
            Returns:
            +
            an array containing the constants of this enum class, in the order they are declared
            +
          • -
          - - - -
            -
          • -

            valueOf

            -
            public static RaceStatusType valueOf(String name)
            -
            Returns the enum constant of this type with the specified name. +
          • +
            +

            valueOf

            +
            public static RaceStatusType valueOf(String name)
            +
            Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are +enum constant in this class. (Extraneous whitespace characters are not permitted.)
            -
            -
            Parameters:
            +
            +
            Parameters:
            name - the name of the enum constant to be returned.
            -
            Returns:
            +
            Returns:
            the enum constant with the specified name
            -
            Throws:
            -
            IllegalArgumentException - if this enum type has no constant with the specified name
            -
            NullPointerException - if the argument is null
            +
            Throws:
            +
            IllegalArgumentException - if this enum class has no constant with the specified name
            +
            NullPointerException - if the argument is null
            +
            +
          • +
          • +
            +

            getValue

            +
            public int getValue()
            +
            +
          • +
          • +
            +

            fromInteger

            +
            public static RaceStatusType fromInteger(int status)
            +
            +
          • +
          • +
            +

            fromString

            +
            public static RaceStatusType fromString(String status)
            +
          - - - -
            -
          • -

            getValue

            -
            public int getValue()
            +
        - - - -
          -
        • -

          fromInteger

          -
          public static RaceStatusType fromInteger(int status)
          -
        • -
        - - - - -
      • -
      - -
    -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceVisibilityType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceVisibilityType.html index 30a06189eb1..cb0d2b085c0 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceVisibilityType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/RaceVisibilityType.html @@ -1,531 +1,398 @@ - - + - + +RaceVisibilityType (Subscription - Applications - TracAPI 5.0.0 API) + -RaceVisibilityType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Enum RaceVisibilityType

    + +

    Enum Class RaceVisibilityType

    -
    - -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    + + + + +
    +
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/StartTimeType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/StartTimeType.html index 3ef3345085f..17b0f758a5d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/StartTimeType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/StartTimeType.html @@ -1,391 +1,277 @@ - - + - + +StartTimeType (Subscription - Applications - TracAPI 5.0.0 API) + -StartTimeType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.event
    -

    Enum StartTimeType

    + +

    Enum Class StartTimeType

    -
    - -
    -
    -
    -
    -
    -
    + - - - - -
      -
    • -

      FirstControl

      -
      public static final StartTimeType FirstControl
      -
      Use time of first control rounding
      -
    • -
    - - - -
      -
    • - - -

      Method Detail

      - - - -
        -
      • -

        values

        -
        public static StartTimeType[] values()
        -
        Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
        -for (StartTimeType c : StartTimeType.values())
        -    System.out.println(c);
        -
        -
        -
        Returns:
        -
        an array containing the constants of this enum type, in the order they are declared
        -
        -
      • -
      - - - -
        -
      • -

        valueOf

        -
        public static StartTimeType valueOf(String name)
        -
        Returns the enum constant of this type with the specified name. -The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are -not permitted.)
        -
        -
        Parameters:
        -
        name - the name of the enum constant to be returned.
        -
        Returns:
        -
        the enum constant with the specified name
        -
        Throws:
        -
        IllegalArgumentException - if this enum type has no constant with the specified name
        -
        NullPointerException - if the argument is null
        -
        -
      • -
      - - - - + +
      +
        + +
      • +
        +

        Enum Constant Details

        +
          +
        • +
          +

          Individual

          +
          public static final StartTimeType Individual
          +
          Use individual start time, stored in the IRaceCompetitor object.
          +
          +
        • +
        • +
          +

          RaceStart

          +
          public static final StartTimeType RaceStart
          +
          Use race start time
          +
          +
        • +
        • +
          +

          FirstControl

          +
          public static final StartTimeType FirstControl
          +
          Use time of first control rounding
          +
          +
        • +
        +
        +
      • + +
      • +
        +

        Method Details

        +
          +
        • +
          +

          values

          +
          public static StartTimeType[] values()
          +
          Returns an array containing the constants of this enum class, in +the order they are declared.
          +
          +
          Returns:
          +
          an array containing the constants of this enum class, in the order they are declared
          +
          +
          +
        • +
        • +
          +

          valueOf

          +
          public static StartTimeType valueOf(String name)
          +
          Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
          +
          +
          Parameters:
          +
          name - the name of the enum constant to be returned.
          +
          Returns:
          +
          the enum constant with the specified name
          +
          Throws:
          +
          IllegalArgumentException - if this enum class has no constant with the specified name
          +
          NullPointerException - if the argument is null
          +
          +
          +
        • +
        • +
          +

          getStartTime

          +
          public static StartTimeType getStartTime(String startTimeType)
          +
          Gets the start time type from a string
          +
          +
          Parameters:
          startTimeType - the string that contains the start time type
          -
          Returns:
          +
          Returns:
          the start time type or race start time of it doesn't exist
          +
        +
      -
    • -
    -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/CreateModelException.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/CreateModelException.html index 00786a0604c..d449bc428af 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/CreateModelException.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/CreateModelException.html @@ -1,233 +1,155 @@ - - + - + +Uses of Class com.tractrac.model.lib.api.event.CreateModelException (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.event.CreateModelException (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.event.CreateModelException

    +

    Uses of Class
    com.tractrac.model.lib.api.event.CreateModelException

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/DataSource.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/DataSource.html index 3bccdc9bb12..d34a2c816dd 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/DataSource.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/DataSource.html @@ -1,215 +1,129 @@ - - + - + +Uses of Enum Class com.tractrac.model.lib.api.event.DataSource (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.event.DataSource (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.event.DataSource

    +

    Uses of Enum Class
    com.tractrac.model.lib.api.event.DataSource

    -
    -
    +
    + -
  • - - -

    Uses of DataSource in com.tractrac.subscription.lib.api.race

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.race with parameters of type DataSource 
    Modifier and TypeMethod and Description
    voidIRacesListener.dataSourceChanged(long timestamp, - IRace race, - DataSource oldDataSource, - URI oldLiveURI, - URI oldStoredURI) +
  • +
    +

    Uses of DataSource in com.tractrac.subscription.lib.api.race

    +
    Methods in com.tractrac.subscription.lib.api.race with parameters of type DataSource
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IRacesListener.dataSourceChanged(long timestamp, + IRace race, + DataSource oldDataSource, + URI oldLiveURI, + URI oldStoredURI)
    +
    It is thrown when the datasource has changed
    -
  • -
  • - +
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/EventType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/EventType.html index 90948920f29..432f17905c1 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/EventType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/EventType.html @@ -1,196 +1,114 @@ - - + - + +Uses of Enum Class com.tractrac.model.lib.api.event.EventType (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.event.EventType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.event.EventType

    +

    Uses of Enum Class
    com.tractrac.model.lib.api.event.EventType

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ICompetitor.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ICompetitor.html index 4d6e778983b..ddcfc5f682d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ICompetitor.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ICompetitor.html @@ -1,262 +1,165 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.event.ICompetitor (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.event.ICompetitor (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.event.ICompetitor

    +

    Uses of Interface
    com.tractrac.model.lib.api.event.ICompetitor

    -
    -
    +
    + -
  • - - -

    Uses of ICompetitor in com.tractrac.subscription.lib.api.competitor

    - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.competitor with parameters of type ICompetitor 
    Modifier and TypeMethod and Description
    voidICompetitorsListener.addCompetitor(long timestamp, - ICompetitor competitor) +
  • +
    +

    Uses of ICompetitor in com.tractrac.subscription.lib.api.competitor

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    ICompetitorsListener.addCompetitor(long timestamp, + ICompetitor competitor)
    +
    A new competitor has been added to the event.
    -
  • voidICompetitorsListener.updateCompetitor(long timestamp, - ICompetitor competitor) + +
    void
    +
    ICompetitorsListener.updateCompetitor(long timestamp, + ICompetitor competitor)
    +
    This event is thrown when a competitor is updated.
    -
    -
  • - +
    + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ICompetitorClass.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ICompetitorClass.html index d0beefa3136..7499ec802ef 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ICompetitorClass.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ICompetitorClass.html @@ -1,187 +1,105 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.event.ICompetitorClass (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.event.ICompetitorClass (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.event.ICompetitorClass

    +

    Uses of Interface
    com.tractrac.model.lib.api.event.ICompetitorClass

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IEvent.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IEvent.html index d2e2c37d6c7..5a41e568ebf 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IEvent.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IEvent.html @@ -1,263 +1,171 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.event.IEvent (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.event.IEvent (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.event.IEvent

    +

    Uses of Interface
    com.tractrac.model.lib.api.event.IEvent

    -
    -
    +
    + -
  • - - -

    Uses of IEvent in com.tractrac.subscription.lib.api

    - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api with parameters of type IEvent 
    Modifier and TypeMethod and Description
    IEventSubscriberISubscriberFactory.createEventSubscriber(IEvent event) +
  • +
    +

    Uses of IEvent in com.tractrac.subscription.lib.api

    +
    Methods in com.tractrac.subscription.lib.api with parameters of type IEvent
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    ISubscriberFactory.createEventSubscriber(String apiToken, + IEvent event)
    +
    Returns a subscriber for the event.
    -
  • IEventSubscriberISubscriberFactory.createEventSubscriber(IEvent event, - URI liveUri, - URI storedUri) + + +
    ISubscriberFactory.createEventSubscriber(String apiToken, + IEvent event, + URI liveUri, + URI storedUri)
    +
    Returns a subscriber for the event
    -
    +
  • + + -
  • - - -

    Uses of IEvent in com.tractrac.subscription.lib.api.event

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.event with parameters of type IEvent 
    Modifier and TypeMethod and Description
    voidIEventMessageListener.gotEventMessage(IEvent event, - IMessageData messageData) +
  • +
    +

    Uses of IEvent in com.tractrac.subscription.lib.api.event

    +
    Methods in com.tractrac.subscription.lib.api.event with parameters of type IEvent
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IEventMessageListener.gotEventMessage(IEvent event, + IMessageData messageData)
    +
    Invoked when a new event message arrives
    -
  • -
  • - + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IEventFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IEventFactory.html index 891616e39f7..4762909ca0c 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IEventFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IEventFactory.html @@ -1,186 +1,104 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.event.IEventFactory (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.event.IEventFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.event.IEventFactory

    +

    Uses of Interface
    com.tractrac.model.lib.api.event.IEventFactory

    -
    -
    +
    +
    + +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRace.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRace.html index 5e9a3a34332..3e4809003d0 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRace.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRace.html @@ -1,382 +1,276 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.event.IRace (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.event.IRace (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.event.IRace

    +

    Uses of Interface
    com.tractrac.model.lib.api.event.IRace

    -
    -
    +
    + -
  • - - -

    Uses of IRace in com.tractrac.subscription.lib.api

    - - - - - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api with parameters of type IRace 
    Modifier and TypeMethod and Description
    IRaceSubscriberISubscriberFactory.createRaceSubscriber(IRace race) +
  • +
    +

    Uses of IRace in com.tractrac.subscription.lib.api

    +
    Methods in com.tractrac.subscription.lib.api with parameters of type IRace
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    ISubscriberFactory.createRaceSubscriber(String apiToken, + IRace race)
    +
    Returns a subscriber for a race.
    -
  • IRaceSubscriberISubscriberFactory.createRaceSubscriber(IRace race, - URI webSocketsURI) + + +
    ISubscriberFactory.createRaceSubscriber(String apiToken, + IRace race, + URI webSocketsURI)
    +
    Returns a subscriber for a race.
    -
    IRaceSubscriberISubscriberFactory.createRaceSubscriber(IRace race, - URI liveUri, - URI storedUri) + + +
    ISubscriberFactory.createRaceSubscriber(String apiToken, + IRace race, + URI liveUri, + URI storedUri)
    +
    Returns a subscriber for a race.
    -
    +
  • + + -
  • - - -

    Uses of IRace in com.tractrac.subscription.lib.api.race

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.race with parameters of type IRace 
    Modifier and TypeMethod and Description
    voidIRacesListener.addRace(long timestamp, - IRace race) +
  • +
    +

    Uses of IRace in com.tractrac.subscription.lib.api.race

    +
    Methods in com.tractrac.subscription.lib.api.race with parameters of type IRace
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IRacesListener.addRace(long timestamp, + IRace race)
    +
    A new race has been added to the event.
    -
  • voidIRacesListener.dataSourceChanged(long timestamp, - IRace race, - DataSource oldDataSource, - URI oldLiveURI, - URI oldStoredURI) + +
    void
    +
    IRacesListener.dataSourceChanged(long timestamp, + IRace race, + DataSource oldDataSource, + URI oldLiveURI, + URI oldStoredURI)
    +
    It is thrown when the datasource has changed
    -
    voidIRaceMessageListener.gotRaceMessage(IRace race, - IMessageData messageData) + +
    void
    +
    IRaceMessageListener.gotRaceMessage(IRace race, + IMessageData messageData)
    +
    Invoked when a new race message arrives
    -
    voidIRaceStartStopTimesChangeListener.gotRaceStartStopTime(IRace race, - IStartStopData startStopData) + +
    void
    +
    IRaceStartStopTimesChangeListener.gotRaceStartStopTime(IRace race, + IStartStopData startStopData)
    +
    Invoked when an update in the race start and/or stop time occurs.
    -
    voidIRaceStartStopTimesChangeListener.gotTrackingStartStopTime(IRace race, - IStartStopData startStopData) + +
    void
    +
    IRaceStartStopTimesChangeListener.gotTrackingStartStopTime(IRace race, + IStartStopData startStopData)
    +
    Invoked when an update in the tracking start and/or stop time occurs.
    -
    voidIRacesListener.updateRace(long timestamp, - IRace race) + +
    void
    +
    IRacesListener.updateRace(long timestamp, + IRace race)
    +
    This event is thrown when a race is updated.
    -
    -
  • - + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRaceCompetitor.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRaceCompetitor.html index 12d2658396b..8ca97f474cd 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRaceCompetitor.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRaceCompetitor.html @@ -1,327 +1,217 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.event.IRaceCompetitor (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.event.IRaceCompetitor (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.event.IRaceCompetitor

    +

    Uses of Interface
    com.tractrac.model.lib.api.event.IRaceCompetitor

    -
    -
    +
    + -
  • - - -

    Uses of IRaceCompetitor in com.tractrac.subscription.lib.api.competitor

    - - - - - - - - - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.competitor with parameters of type IRaceCompetitor 
    Modifier and TypeMethod and Description
    voidIPositionListener.gotPosition(IRaceCompetitor raceCompetitor, - IPosition position) +
  • +
    +

    Uses of IRaceCompetitor in com.tractrac.subscription.lib.api.competitor

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IPositionListener.gotPosition(IRaceCompetitor raceCompetitor, + IPosition position)
    +
    Invoked when a new position arrives
    -
  • voidIPositionOffsetListener.gotPositionOffset(IRaceCompetitor raceCompetitor, - IPositionOffset position) + +
    void
    +
    IPositionOffsetListener.gotPositionOffset(IRaceCompetitor raceCompetitor, + IPositionOffset position)
    +
    Invoked when a new position arrives
    -
    voidIPositionSnappedListener.gotPositionSnapped(IRaceCompetitor raceCompetitor, - IPositionSnapped positionSnapped) + +
    void
    +
    IPositionSnappedListener.gotPositionSnapped(IRaceCompetitor raceCompetitor, + IPositionSnapped positionSnapped)
    +
    Invoked when a new snapped position arrives
    -
    voidICompetitorSensorDataListener.gotSensorData(IRaceCompetitor raceCompetitor, - ISensorData sensorData) + +
    void
    +
    ICompetitorSensorDataListener.gotSensorData(IRaceCompetitor raceCompetitor, + ISensorData sensorData)
    +
    Invoked when a sensor data arrives
    -
    +
  • + + -
  • - - -

    Uses of IRaceCompetitor in com.tractrac.subscription.lib.api.control

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.control with parameters of type IRaceCompetitor 
    Modifier and TypeMethod and Description
    voidIControlPassingsListener.gotControlPassings(long timestamp, - IRaceCompetitor raceCompetitor, - IControlPassings controlPassings) +
  • +
    +

    Uses of IRaceCompetitor in com.tractrac.subscription.lib.api.control

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IControlPassingsListener.gotControlPassings(long timestamp, + IRaceCompetitor raceCompetitor, + IControlPassings controlPassings)
    +
    Invoked when a new control passing result arrives
    -
  • + + +
  • -
  • - - -

    Uses of IRaceCompetitor in com.tractrac.subscription.lib.api.race

    - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.race with parameters of type IRaceCompetitor 
    Modifier and TypeMethod and Description
    voidIRaceCompetitorListener.addRaceCompetitor(long timestamp, - IRaceCompetitor raceCompetitor) +
  • +
    +

    Uses of IRaceCompetitor in com.tractrac.subscription.lib.api.race

    +
    Methods in com.tractrac.subscription.lib.api.race with parameters of type IRaceCompetitor
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IRaceCompetitorListener.addRaceCompetitor(long timestamp, + IRaceCompetitor raceCompetitor)
    +
    This event is thrown when a new competitor has been attached to a race
    -
  • voidIRaceCompetitorListener.updateRaceCompetitor(long timestamp, - IRaceCompetitor raceCompetitor) + +
    void
    +
    IRaceCompetitorListener.updateRaceCompetitor(long timestamp, + IRaceCompetitor raceCompetitor)
    +
    This event is thrown when a race competitor is updated
    -
    -
  • - + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRaceSerie.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRaceSerie.html index def7b46b500..7fc09629828 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRaceSerie.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/IRaceSerie.html @@ -1,187 +1,105 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.event.IRaceSerie (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.event.IRaceSerie (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.event.IRaceSerie

    +

    Uses of Interface
    com.tractrac.model.lib.api.event.IRaceSerie

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ITeam.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ITeam.html index 5ad7dd16b12..a1781440a1f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ITeam.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/ITeam.html @@ -1,187 +1,105 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.event.ITeam (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.event.ITeam (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.event.ITeam

    +

    Uses of Interface
    com.tractrac.model.lib.api.event.ITeam

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceCompetitorStatusType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceCompetitorStatusType.html index bed96fa5e9f..c7ad957a037 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceCompetitorStatusType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceCompetitorStatusType.html @@ -1,192 +1,110 @@ - - + - + +Uses of Enum Class com.tractrac.model.lib.api.event.RaceCompetitorStatusType (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.event.RaceCompetitorStatusType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.event.RaceCompetitorStatusType

    +

    Uses of Enum Class
    com.tractrac.model.lib.api.event.RaceCompetitorStatusType

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceLoadingException.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceLoadingException.html index 63a328dd035..60d9ee2dcd9 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceLoadingException.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceLoadingException.html @@ -1,172 +1,94 @@ - - + - + +Uses of Class com.tractrac.model.lib.api.event.RaceLoadingException (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.event.RaceLoadingException (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.event.RaceLoadingException

    +

    Uses of Class
    com.tractrac.model.lib.api.event.RaceLoadingException

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceStatusType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceStatusType.html index 4fb5d30d913..104e6946539 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceStatusType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceStatusType.html @@ -1,122 +1,86 @@ - - + - + +Uses of Enum Class com.tractrac.model.lib.api.event.RaceStatusType (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.event.RaceStatusType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.event.RaceStatusType

    +

    Uses of Enum Class
    com.tractrac.model.lib.api.event.RaceStatusType

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceVisibilityType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceVisibilityType.html index cf41b181eed..2ad8d67988f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceVisibilityType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/RaceVisibilityType.html @@ -1,197 +1,115 @@ - - + - + +Uses of Enum Class com.tractrac.model.lib.api.event.RaceVisibilityType (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.event.RaceVisibilityType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.event.RaceVisibilityType

    +

    Uses of Enum Class
    com.tractrac.model.lib.api.event.RaceVisibilityType

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/StartTimeType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/StartTimeType.html index e0c69538339..b436b142b6d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/StartTimeType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/class-use/StartTimeType.html @@ -1,191 +1,110 @@ - - + - + +Uses of Enum Class com.tractrac.model.lib.api.event.StartTimeType (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.event.StartTimeType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.event.StartTimeType

    +

    Uses of Enum Class
    com.tractrac.model.lib.api.event.StartTimeType

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-frame.html deleted file mode 100644 index f04e3e45b5c..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-frame.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -com.tractrac.model.lib.api.event (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.model.lib.api.event

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-summary.html index aff2606e7d3..8a43dc002d1 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-summary.html @@ -1,279 +1,189 @@ - - + - + +com.tractrac.model.lib.api.event (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.event (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Package com.tractrac.model.lib.api.event

    -
    -
    - Events, races and competitors
    +

    Package com.tractrac.model.lib.api.event

    -

    See: Description

    -
    -
    -
      -
    • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Interface Summary 
      InterfaceDescription
      ICompetitor -
      - Encapsulates data related to a Competitor of an Event.
      -
      ICompetitorClass -
      - Encapsulates data related to a Competitor Class in an Event.
      -
      IEvent -
      Encapsulates data related to an Event: Races, Competitors, Competitor - Classes, Routes.
      -
      IEventFactory -
      - Factory used to create an IEvent.
      -
      IRace -
      - Encapsulates data related to a specific Race of a TracTrac Event.
      -
      IRaceCompetitor -
      - Encapsulates data related to a specific Competitor of a specific Race.
      -
      IRaceSerie -
      - A serie of races is a list of races that are a part of the same serie.
      -
      ITeam -
      - Encapsulates data related to a Team of an Event.
      -
      -
    • -
    • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Enum Summary 
      EnumDescription
      DataSource -
      - The datasource used to load data
      -
      EventType -
      - The type of the event, according with the EventManager
      -
      RaceCompetitorStatusType -
      Enumeration representing all the possible values for the competitor status.
      -
      RaceStatusType -
      Values for race status.
      -
      RaceVisibilityType -
      Values for race visitility.
      -
      StartTimeType -
      Type of start time to use.
      -
      -
    • -
    • - - - - - - - - - - - - - - - - -
      Exception Summary 
      ExceptionDescription
      CreateModelException 
      RaceLoadingException -
      - This exception is thrown when there is an error loading the race
      -
      -
    • -
    - - - -

    Package com.tractrac.model.lib.api.event Description

    +
    +
    package com.tractrac.model.lib.api.event
    +

    Events, races and competitors

    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-tree.html index b1065cbaf8f..673700b4489 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-tree.html @@ -1,93 +1,72 @@ - - + - + +com.tractrac.model.lib.api.event Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.event Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.model.lib.api.event

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Class Hierarchy

    +
    +

    Interface Hierarchy

      -
    • java.lang.Comparable<T> +
    • java.lang.Comparable<T>
        -
      • com.tractrac.model.lib.api.event.IRace (also extends com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
      • +
      • com.tractrac.model.lib.api.event.IRace (also extends com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
    • -
    • com.tractrac.model.lib.api.attachment.IAttachable +
    • com.tractrac.model.lib.api.attachment.IAttachable
        -
      • com.tractrac.model.lib.api.IIdentifiable +
      • com.tractrac.model.lib.api.IIdentifiable
          -
        • com.tractrac.model.lib.api.INamed +
        • com.tractrac.model.lib.api.INamed
            -
          • com.tractrac.model.lib.api.event.ICompetitor (also extends com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.util.lib.api.serialize.ISerializable)
          • -
          • com.tractrac.model.lib.api.event.ICompetitorClass (also extends com.tractrac.util.lib.api.serialize.ISerializable)
          • -
          • com.tractrac.model.lib.api.event.IEvent
          • -
          • com.tractrac.model.lib.api.event.IRace (also extends java.lang.Comparable<T>, com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.util.lib.api.serialize.ISerializable)
          • -
          • com.tractrac.model.lib.api.event.IRaceSerie
          • -
          • com.tractrac.model.lib.api.event.ITeam (also extends com.tractrac.util.lib.api.serialize.ISerializable)
          • +
          • com.tractrac.model.lib.api.event.ICompetitor (also extends com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.util.lib.api.serialize.ISerializable)
          • +
          • com.tractrac.model.lib.api.event.ICompetitorClass (also extends com.tractrac.util.lib.api.serialize.ISerializable)
          • +
          • com.tractrac.model.lib.api.event.IEvent
          • +
          • com.tractrac.model.lib.api.event.IRace (also extends java.lang.Comparable<T>, com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.util.lib.api.serialize.ISerializable)
          • +
          • com.tractrac.model.lib.api.event.IRaceSerie
          • +
          • com.tractrac.model.lib.api.event.ITeam (also extends com.tractrac.util.lib.api.serialize.ISerializable)
    • -
    • com.tractrac.model.lib.api.metadata.IPropertiesContainer +
    • com.tractrac.model.lib.api.metadata.IPropertiesContainer
        -
      • com.tractrac.model.lib.api.metadata.IMetadataContainer +
      • com.tractrac.model.lib.api.metadata.IMetadataContainer
          -
        • com.tractrac.model.lib.api.event.ICompetitor (also extends com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
        • -
        • com.tractrac.model.lib.api.event.IRace (also extends java.lang.Comparable<T>, com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
        • -
        • com.tractrac.model.lib.api.event.IRaceCompetitor (also extends com.tractrac.util.lib.api.serialize.ISerializable)
        • +
        • com.tractrac.model.lib.api.event.ICompetitor (also extends com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
        • +
        • com.tractrac.model.lib.api.event.IRace (also extends java.lang.Comparable<T>, com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
        • +
        • com.tractrac.model.lib.api.event.IRaceCompetitor (also extends com.tractrac.util.lib.api.serialize.ISerializable)
    • -
    • com.tractrac.util.lib.api.serialize.ISerializable +
    • com.tractrac.util.lib.api.serialize.ISerializable
    • -
    • com.tractrac.common.lib.api.service.IServiceProvider +
    • com.tractrac.common.lib.api.service.IServiceProvider
    -

    Enum Hierarchy

    +
    +
    +

    Enum Class Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-use.html index 7c04f7c912c..bb5d65bdef1 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/event/package-use.html @@ -1,416 +1,288 @@ - - + - + +Uses of Package com.tractrac.model.lib.api.event (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.model.lib.api.event (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.model.lib.api.event

    -
    -
    +
    +
    + -
  • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.event used by com.tractrac.model.lib.api.event 
    Class and Description
    CreateModelException 
    DataSource +
  • +
    + +
    +
    Class
    +
    Description
    + +
     
    + +
    The datasource used to load data
    -
  • EventType + + +
    The type of the event, according with the EventManager
    -
    ICompetitor + + +
    Encapsulates data related to a Competitor of an Event.
    -
    ICompetitorClass + + +
    Encapsulates data related to a Competitor Class in an Event.
    -
    IEvent + + +
    Encapsulates data related to an Event: Races, Competitors, Competitor Classes, Routes.
    -
    IRace + + +
    Encapsulates data related to a specific Race of a TracTrac Event.
    -
    IRaceCompetitor + + +
    Encapsulates data related to a specific Competitor of a specific Race.
    -
    IRaceSerie + + +
    A serie of races is a list of races that are a part of the same serie.
    -
    ITeam + + +
    Encapsulates data related to a Team of an Event.
    -
    RaceCompetitorStatusType + + +
    Enumeration representing all the possible values for the competitor status.
    -
    RaceLoadingException + + +
    This exception is thrown when there is an error loading the race
    -
    RaceStatusType + + +
    Values for race status.
    -
    RaceVisibilityType + + +
    Values for race visitility.
    -
    StartTimeType + + +
    Type of start time to use.
    -
    +
  • + + -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.event used by com.tractrac.subscription.lib.api 
    Class and Description
    IEvent +
  • +
    + +
    +
    Class
    +
    Description
    + +
    Encapsulates data related to an Event: Races, Competitors, Competitor Classes, Routes.
    -
  • IRace + + +
    Encapsulates data related to a specific Race of a TracTrac Event.
    -
    + + +
  • -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.event used by com.tractrac.subscription.lib.api.competitor 
    Class and Description
    ICompetitor +
  • +
    + +
    +
    Class
    +
    Description
    + +
    Encapsulates data related to a Competitor of an Event.
    -
  • IRaceCompetitor + + +
    Encapsulates data related to a specific Competitor of a specific Race.
    -
    + + +
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.event used by com.tractrac.subscription.lib.api.control 
    Class and Description
    IRaceCompetitor +
  • +
    + +
    +
    Class
    +
    Description
    + +
    Encapsulates data related to a specific Competitor of a specific Race.
    -
  • + + +
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.event used by com.tractrac.subscription.lib.api.event 
    Class and Description
    IEvent +
  • +
    + +
    +
    Class
    +
    Description
    + +
    Encapsulates data related to an Event: Races, Competitors, Competitor Classes, Routes.
    -
  • + + +
  • -
  • - - - - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.event used by com.tractrac.subscription.lib.api.race 
    Class and Description
    DataSource +
  • +
    + +
    +
    Class
    +
    Description
    + +
    The datasource used to load data
    -
  • IRace + + +
    Encapsulates data related to a specific Race of a TracTrac Event.
    -
    IRaceCompetitor + + +
    Encapsulates data related to a specific Competitor of a specific Race.
    -
    + + +
  • + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/IMapItem.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/IMapItem.html index 19d2d2f89f6..cc18d20ea7d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/IMapItem.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/IMapItem.html @@ -1,393 +1,270 @@ - - + - + +IMapItem (Subscription - Applications - TracAPI 5.0.0 API) + -IMapItem (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.map
    -

    Interface IMapItem

    + +

    Interface IMapItem

    -
    -
    - -
    -
    -
    -
    -
      -
    • - -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getShortName

          -
          String getShortName()
          + + +
          Gets the short name of the map item ([0-2] characters)
          -
          -
          Returns:
          +
          +
          boolean
          + +
          +
          Flag specifying whether the map item is composed by more than one individual positioned items.
          +
          +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IMetadataContainer

    +getMetadata
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +getProperty
    +
    +

    Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

    +getSize, serialize
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getShortName

        +
        String getShortName()
        +
        Gets the short name of the map item ([0-2] characters)
        +
        +
        Returns:
        the short name
        +
      • -
      - - - -
        -
      • -

        getMapName

        -
        String getMapName()
        +
      • +
        +

        getMapName

        +
        String getMapName()
        Gets the name that has to be displayed in the map
        -
        -
        Returns:
        +
        +
        Returns:
        the map name
        +
      • -
      - - - -
        -
      • -

        isMultiple

        -
        boolean isMultiple()
        +
      • +
        +

        isMultiple

        +
        boolean isMultiple()
        Flag specifying whether the map item is composed by more than one individual positioned items.
        -
        -
        Returns:
        +
        +
        Returns:
        true if the map item is multiple.
        +
      • -
      - - - -
        -
      • -

        getCourseArea

        -
        String getCourseArea()
        +
      • +
        +

        getCourseArea

        +
        String getCourseArea()
        Gets the course area of this map item that will be the same course area of all the positioned items that are part of this map item.
        -
        -
        Returns:
        +
        +
        Returns:
        Course area name
        +
      • -
      - - - -
        -
      • -

        getPositionedItems

        -
        List<IPositionedItem> getPositionedItems()
        +
      • +
        +

        getPositionedItems

        +
        List<IPositionedItem> getPositionedItems()

        Gets the list of positioned items contained by this map item.

        This method is thread-safety: it returns a copy of the list.

        -
        -
        Returns:
        +
        +
        Returns:
        a list of control points.
        +
      • -
      - - - -
        -
      • -

        getMapItemType

        -
        MapItemType getMapItemType()
        +
      • +
        +

        getMapItemType

        +
        MapItemType getMapItemType()
        Gets the map item type
        -
        -
        Returns:
        +
        +
        Returns:
        the map item type
        +
      +
    - - -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/IPositionedItem.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/IPositionedItem.html index e3b13afae42..58566e02e7b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/IPositionedItem.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/IPositionedItem.html @@ -1,327 +1,216 @@ - - + - + +IPositionedItem (Subscription - Applications - TracAPI 5.0.0 API) + -IPositionedItem (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.map
    -

    Interface IPositionedItem

    + +

    Interface IPositionedItem

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
      boolean
      + +
      +
      Flag specifying whether the positioned item is static or dynamic.
      +
      +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IMetadataContainer

    +getMetadata
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +getProperty
    +
    +

    Methods inherited from interface com.tractrac.util.lib.api.serialize.ISerializable

    +getSize, serialize
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getCourseArea

          -
          String getCourseArea()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getCourseArea

            +
            String getCourseArea()
            Gets the course area of this positioned item.
            -
            -
            Returns:
            +
            +
            Returns:
            Course area name
            +
          • -
          - - - -
            -
          • -

            isStatic

            -
            boolean isStatic()
            +
          • +
            +

            isStatic

            +
            boolean isStatic()
            Flag specifying whether the positioned item is static or dynamic. Static means that it has not attached any tracking device
            -
            -
            Returns:
            +
            +
            Returns:
            true if the positioned item is static.
            +
          • -
          - - - -
            -
          • -

            getPositions

            -
            List<ISimplePosition> getPositions()
            +
          • +
            +

            getPositions

            +
            List<ISimplePosition> getPositions()
            Only if the positioned item is static, this method returns the static positions attached to this object. On this first version this method returns only one single object but in the future this method can return two or more positions.
            -
            -
            Returns:
            +
            +
            Returns:
            a list of static positions
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/MapItemType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/MapItemType.html index 4a55dab80e5..12e4613082a 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/MapItemType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/MapItemType.html @@ -1,406 +1,280 @@ - - + - + +MapItemType (Subscription - Applications - TracAPI 5.0.0 API) + -MapItemType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.map
    -

    Enum MapItemType

    + +

    Enum Class MapItemType

    -
    - -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    + + + + +
    +
      -
        -
      • - - -

        Enum Constant Detail

        - - - -
          -
        • -

          CONTROL

          -
          public static final MapItemType CONTROL
          +
        • +
          +

          Enum Constant Details

          +
            +
          • +
            +

            CONTROL

            +
            public static final MapItemType CONTROL
            +
            +
          • +
          • +
            +

            OFFSET_MARK

            +
            public static final MapItemType OFFSET_MARK
            +
            +
          • +
          • +
            +

            SPREADER_MARK

            +
            public static final MapItemType SPREADER_MARK
            +
            +
          • +
          • +
            +

            BOUNDARY

            +
            public static final MapItemType BOUNDARY
            +
          - - - -
            -
          • -

            OFFSET_MARK

            -
            public static final MapItemType OFFSET_MARK
            +
        • -
        - - - -
          -
        • -

          SPREADER_MARK

          -
          public static final MapItemType SPREADER_MARK
          -
        • -
        - - - -
          -
        • -

          BOUNDARY

          -
          public static final MapItemType BOUNDARY
          -
        • -
        -
      • -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          values

          -
          public static MapItemType[] values()
          -
          Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
          -for (MapItemType c : MapItemType.values())
          -    System.out.println(c);
          -
          -
          -
          Returns:
          -
          an array containing the constants of this enum type, in the order they are declared
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            values

            +
            public static MapItemType[] values()
            +
            Returns an array containing the constants of this enum class, in +the order they are declared.
            +
            +
            Returns:
            +
            an array containing the constants of this enum class, in the order they are declared
            +
          • -
          - - - -
            -
          • -

            valueOf

            -
            public static MapItemType valueOf(String name)
            -
            Returns the enum constant of this type with the specified name. +
          • +
            +

            valueOf

            +
            public static MapItemType valueOf(String name)
            +
            Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are +enum constant in this class. (Extraneous whitespace characters are not permitted.)
            -
            -
            Parameters:
            +
            +
            Parameters:
            name - the name of the enum constant to be returned.
            -
            Returns:
            +
            Returns:
            the enum constant with the specified name
            -
            Throws:
            -
            IllegalArgumentException - if this enum type has no constant with the specified name
            -
            NullPointerException - if the argument is null
            +
            Throws:
            +
            IllegalArgumentException - if this enum class has no constant with the specified name
            +
            NullPointerException - if the argument is null
            +
            +
          • +
          • +
            +

            getValue

            +
            public int getValue()
            +
            +
          • +
          • +
            +

            fromInteger

            +
            public static MapItemType fromInteger(int type)
            +
            +
          • +
          • +
            +

            fromString

            +
            public static MapItemType fromString(String type)
            +
          - - - -
            -
          • -

            getValue

            -
            public int getValue()
            +
        - - - -
          -
        • -

          fromInteger

          -
          public static MapItemType fromInteger(int type)
          -
        • -
        - - - - -
      • -
      - -
    -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/IMapItem.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/IMapItem.html index c9d95535c10..7ca2fbd56ff 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/IMapItem.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/IMapItem.html @@ -1,330 +1,217 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.map.IMapItem (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.map.IMapItem (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.map.IMapItem

    +

    Uses of Interface
    com.tractrac.model.lib.api.map.IMapItem

    -
    -
    +
    + -
  • - - -

    Uses of IMapItem in com.tractrac.model.lib.api.event

    - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.model.lib.api.event that return IMapItem 
    Modifier and TypeMethod and Description
    IMapItemIEvent.getMapItem(UUID mapItemId) +
  • +
    +

    Uses of IMapItem in com.tractrac.model.lib.api.event

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    IEvent.getMapItem(UUID mapItemId)
    +
    Gets the map item by Id
    -
  • IMapItemIEvent.updateControl(IMapItem control) + + +
    IEvent.updateControl(IMapItem control)
    +
    Update a control
    -
    - - - - - - - - - - - - -
    Methods in com.tractrac.model.lib.api.event that return types with arguments of type IMapItem 
    Modifier and TypeMethod and Description
    List<IMapItem>IEvent.getMapItems() + + +
    Methods in com.tractrac.model.lib.api.event that return types with arguments of type IMapItem
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    IEvent.getMapItems()
    +
    Returns a collection of all the map items in this event.
    -
    - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.model.lib.api.event with parameters of type IMapItem 
    Modifier and TypeMethod and Description
    voidIEvent.addControl(IMapItem control) + + +
    Methods in com.tractrac.model.lib.api.event with parameters of type IMapItem
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IEvent.addControl(IMapItem control)
    +
    Add a new control to the event
    -
    IMapItemIEvent.updateControl(IMapItem control) + + +
    IEvent.updateControl(IMapItem control)
    +
    Update a control
    -
    +
  • + + -
  • - - -

    Uses of IMapItem in com.tractrac.model.lib.api.route

    - - - - - - - - - - - - -
    Methods in com.tractrac.model.lib.api.route that return types with arguments of type IMapItem 
    Modifier and TypeMethod and Description
    List<IMapItem>IControlRoute.getControls() +
  • +
    +

    Uses of IMapItem in com.tractrac.model.lib.api.route

    +
    Methods in com.tractrac.model.lib.api.route that return types with arguments of type IMapItem
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    IControlRoute.getControls()
    +
    The list of controls of a route
    -
  • + + +
  • -
  • - - -

    Uses of IMapItem in com.tractrac.subscription.lib.api.control

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.control with parameters of type IMapItem 
    Modifier and TypeMethod and Description
    voidIControlPointSensorDataListener.gotSensorData(IMapItem control, - ISensorData sensorData, - int controlPointNumber) +
  • +
    +

    Uses of IMapItem in com.tractrac.subscription.lib.api.control

    +
    Methods in com.tractrac.subscription.lib.api.control with parameters of type IMapItem
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IControlPointSensorDataListener.gotSensorData(IMapItem control, + ISensorData sensorData, + int controlPointNumber)
    +
    Invoked when a sensor data for a control point arrives.
    -
  • + + +
  • -
  • - - -

    Uses of IMapItem in com.tractrac.subscription.lib.api.map

    - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.map with parameters of type IMapItem 
    Modifier and TypeMethod and Description
    voidIMapItemsListener.addMapItem(long timestamp, - IMapItem mapItem) +
  • +
    +

    Uses of IMapItem in com.tractrac.subscription.lib.api.map

    +
    Methods in com.tractrac.subscription.lib.api.map with parameters of type IMapItem
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IMapItemsListener.addMapItem(long timestamp, + IMapItem mapItem)
    +
    A new control has been added to the event.
    -
  • voidIMapItemsListener.updateMapItem(long timestamp, - IMapItem mapItem) + +
    void
    +
    IMapItemsListener.updateMapItem(long timestamp, + IMapItem mapItem)
    +
    This event is thrown when a map item is updated.
    -
    -
  • - + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/IPositionedItem.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/IPositionedItem.html index ba43ab0b445..81748ede05e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/IPositionedItem.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/IPositionedItem.html @@ -1,252 +1,154 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.map.IPositionedItem (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.map.IPositionedItem (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.map.IPositionedItem

    +

    Uses of Interface
    com.tractrac.model.lib.api.map.IPositionedItem

    -
    -
    +
    + -
  • - - -

    Uses of IPositionedItem in com.tractrac.model.lib.api.map

    - - - - - - - - - - - - -
    Methods in com.tractrac.model.lib.api.map that return types with arguments of type IPositionedItem 
    Modifier and TypeMethod and Description
    List<IPositionedItem>IMapItem.getPositionedItems() +
  • +
    +

    Uses of IPositionedItem in com.tractrac.model.lib.api.map

    +
    Methods in com.tractrac.model.lib.api.map that return types with arguments of type IPositionedItem
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    Gets the list of positioned items contained by this map item.
    -
  • +
  • + + -
  • - - -

    Uses of IPositionedItem in com.tractrac.subscription.lib.api.map

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.map with parameters of type IPositionedItem 
    Modifier and TypeMethod and Description
    voidIPositionedItemPositionListener.gotPositionedItemPosition(IPositionedItem positionedItem, - IPosition position) +
  • +
    +

    Uses of IPositionedItem in com.tractrac.subscription.lib.api.map

    +
    Methods in com.tractrac.subscription.lib.api.map with parameters of type IPositionedItem
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IPositionedItemPositionListener.gotPositionedItemPosition(IPositionedItem positionedItem, + IPosition position)
    +
    Invoked when a new position for a control point arrives.
    -
  • -
  • - + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/MapItemType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/MapItemType.html index 51c25503a62..c8c0024b45d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/MapItemType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/class-use/MapItemType.html @@ -1,189 +1,107 @@ - - + - + +Uses of Enum Class com.tractrac.model.lib.api.map.MapItemType (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.model.lib.api.map.MapItemType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.model.lib.api.map.MapItemType

    +

    Uses of Enum Class
    com.tractrac.model.lib.api.map.MapItemType

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-frame.html deleted file mode 100644 index 9ee9f2987a4..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-frame.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - -com.tractrac.model.lib.api.map (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.model.lib.api.map

    -
    -

    Interfaces

    - -

    Enums

    - -
    - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-summary.html index 2d35144c700..fc0275c9789 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-summary.html @@ -1,169 +1,123 @@ - - + - + +com.tractrac.model.lib.api.map (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.map (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Package com.tractrac.model.lib.api.map

    +

    Package com.tractrac.model.lib.api.map

    -
    -
      -
    • - - - - - - - - - - - - - - - - -
      Interface Summary 
      InterfaceDescription
      IMapItem +
      +
      package com.tractrac.model.lib.api.map
      +
      +
        +
      • + +
      • +
      • +
        +
        +
        +
        +
        Class
        +
        Description
        + +
        A tangible object that can be drawn in the viewer.
        -
      IPositionedItem + + +
      It represents a item with an attached position, either from a tracker or a static location.
      -
      -
    • -
    • - - - - - - - - - - - - -
      Enum Summary 
      EnumDescription
      MapItemType 
      +
    + +
     
    +
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-tree.html index 77150469811..137463cf6e5 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-tree.html @@ -1,176 +1,116 @@ - - + - + +com.tractrac.model.lib.api.map Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.map Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.model.lib.api.map

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

      -
    • com.tractrac.model.lib.api.attachment.IAttachable +
    • com.tractrac.model.lib.api.attachment.IAttachable
        -
      • com.tractrac.model.lib.api.IIdentifiable +
      • com.tractrac.model.lib.api.IIdentifiable
          -
        • com.tractrac.model.lib.api.INamed +
        • com.tractrac.model.lib.api.INamed
            -
          • com.tractrac.model.lib.api.map.IMapItem (also extends com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.util.lib.api.serialize.ISerializable)
          • -
          • com.tractrac.model.lib.api.map.IPositionedItem (also extends com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.util.lib.api.serialize.ISerializable)
          • +
          • com.tractrac.model.lib.api.map.IMapItem (also extends com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.util.lib.api.serialize.ISerializable)
          • +
          • com.tractrac.model.lib.api.map.IPositionedItem (also extends com.tractrac.model.lib.api.metadata.IMetadataContainer, com.tractrac.util.lib.api.serialize.ISerializable)
    • -
    • com.tractrac.model.lib.api.metadata.IPropertiesContainer +
    • com.tractrac.model.lib.api.metadata.IPropertiesContainer
        -
      • com.tractrac.model.lib.api.metadata.IMetadataContainer +
      • com.tractrac.model.lib.api.metadata.IMetadataContainer
          -
        • com.tractrac.model.lib.api.map.IMapItem (also extends com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
        • -
        • com.tractrac.model.lib.api.map.IPositionedItem (also extends com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
        • +
        • com.tractrac.model.lib.api.map.IMapItem (also extends com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
        • +
        • com.tractrac.model.lib.api.map.IPositionedItem (also extends com.tractrac.model.lib.api.INamed, com.tractrac.util.lib.api.serialize.ISerializable)
    • -
    • com.tractrac.util.lib.api.serialize.ISerializable +
    • com.tractrac.util.lib.api.serialize.ISerializable
    -

    Enum Hierarchy

    +
    +
    +

    Enum Class Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-use.html index 30b90f9c0dc..fdd57303da2 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/map/package-use.html @@ -1,299 +1,192 @@ - - + - + +Uses of Package com.tractrac.model.lib.api.map (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.model.lib.api.map (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.model.lib.api.map

    -
    -
    +
    + -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.map used by com.tractrac.model.lib.api.event 
    Class and Description
    IMapItem +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A tangible object that can be drawn in the viewer.
    -
  • IPositionedItem + + +
    It represents a item with an attached position, either from a tracker or a static location.
    -
    +
  • +
    + -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.map used by com.tractrac.model.lib.api.map 
    Class and Description
    IPositionedItem +
  • +
    + +
    +
    Class
    +
    Description
    + +
    It represents a item with an attached position, either from a tracker or a static location.
    -
  • MapItemType 
    + + +
     
    + +
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.map used by com.tractrac.model.lib.api.route 
    Class and Description
    IMapItem +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A tangible object that can be drawn in the viewer.
    -
  • + + +
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.map used by com.tractrac.subscription.lib.api.control 
    Class and Description
    IMapItem +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A tangible object that can be drawn in the viewer.
    -
  • + + +
  • -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.map used by com.tractrac.subscription.lib.api.map 
    Class and Description
    IMapItem +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A tangible object that can be drawn in the viewer.
    -
  • IPositionedItem + + +
    It represents a item with an attached position, either from a tracker or a static location.
    -
    + + +
  • + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadata.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadata.html index 423a8536195..daf2e4bd331 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadata.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadata.html @@ -1,108 +1,95 @@ - - + - + +IMetadata (Subscription - Applications - TracAPI 5.0.0 API) + -IMetadata (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.metadata
    -

    Interface IMetadata

    + +

    Interface IMetadata

    -
    -
    -
      -
    • +

      -
      -
      public interface IMetadata
      +
      public interface IMetadata

      This class represents the metadata associated to an object. In terms of database, metadata is a free text field that can be used by the event @@ -113,153 +100,83 @@ var activeTableTab = "activeTableTab"; depending on the system administrator. This class contains methods to manage some of these structures.

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          StringgetText() +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          + + +
          Returns the metadata like a text value.
          -
        • booleanisEmpty() -
          Returns true if there are not metadata.
          -
          -
        • -
        - -
    -
    -
      -
    • - -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          isEmpty

          -
          boolean isEmpty()
          +
          boolean
          + +
          Returns true if there are not metadata.
          -
          -
          Returns:
          +
          +
    +
    +
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        isEmpty

        +
        boolean isEmpty()
        +
        Returns true if there are not metadata.
        +
        +
        Returns:
        if there are metadata.
        +
      • -
      - - - -
        -
      • -

        getText

        -
        String getText()
        +
      • +
        +

        getText

        +
        String getText()
        Returns the metadata like a text value. It means that the metadata is returned without any modification.
        -
        -
        Returns:
        +
        +
        Returns:
        the metadata like a text value.
        +
      +
    - - -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadataContainer.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadataContainer.html index 0b2561ab85f..220d209a4a0 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadataContainer.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadataContainer.html @@ -1,256 +1,177 @@ - - + - + +IMetadataContainer (Subscription - Applications - TracAPI 5.0.0 API) + -IMetadataContainer (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.metadata
    -

    Interface IMetadataContainer

    + +

    Interface IMetadataContainer

    -
    -
    -
    +
    +
    Author:
    Jorge Piera Llodrá
    -
    See Also:
    -
    IMetadata
    +
    See Also:
    +
    + +
    - - -
    -
    -
    -
    -
      -
    • +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +getProperty
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getMetadata

          -
          IMetadata getMetadata()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getMetadata

            +
            IMetadata getMetadata()
            Returns the metadata associated with this object. Metadata is a free text field that can be used by the customer in order to extend the system with custom properties.
            -
            -
            Returns:
            +
            +
            Returns:
            the metadata associated with this object
            +
          +
        -
      • -
      - - +
    - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadataFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadataFactory.html index 50286908cf0..becf7bce79c 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadataFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IMetadataFactory.html @@ -1,247 +1,171 @@ - - + - + +IMetadataFactory (Subscription - Applications - TracAPI 5.0.0 API) + -IMetadataFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.metadata
    -

    Interface IMetadataFactory

    + +

    Interface IMetadataFactory

    -
    -
    -
      -
    • -
      +
      +
      All Superinterfaces:
      -
      com.tractrac.common.lib.api.service.IServiceProvider
      +
      com.tractrac.common.lib.api.service.IServiceProvider

      -
      -
      public interface IMetadataFactory
      -extends com.tractrac.common.lib.api.service.IServiceProvider
      +
      public interface IMetadataFactory +extends com.tractrac.common.lib.api.service.IServiceProvider

      Factory used to create metadata. The instance of this factory can be - retrieved using the ModelLocator class. + retrieved using the ModelLocator class.

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
      See Also:
      -
      Factory
      -
      -
    • +
      See Also:
      +
      + -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          createMetadata

          -
          IMetadata createMetadata(String metadata)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            createMetadata

            +
            IMetadata createMetadata(String metadata)
            Create a new metadata object from an string
            -
            -
            Parameters:
            +
            +
            Parameters:
            metadata -
            -
            Returns:
            +
            Returns:
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IPropertiesContainer.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IPropertiesContainer.html index 9e729e2fd5d..299b1dfed8d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IPropertiesContainer.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/IPropertiesContainer.html @@ -1,240 +1,161 @@ - - + - + +IPropertiesContainer (Subscription - Applications - TracAPI 5.0.0 API) + -IPropertiesContainer (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.metadata
    -

    Interface IPropertiesContainer

    + +

    Interface IPropertiesContainer

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getProperty

          -
          Object getProperty(String propertyName)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getProperty

            +
            Object getProperty(String propertyName)
            Returns a property attached to the object
            -
            -
            Parameters:
            +
            +
            Parameters:
            propertyName - the name of the property
            -
            Returns:
            +
            Returns:
            the property value or null if it doesn't exist
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadata.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadata.html index 3a036c445ed..ab34f229ddc 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadata.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadata.html @@ -1,177 +1,98 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.metadata.IMetadata (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.metadata.IMetadata (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.metadata.IMetadata

    +

    Uses of Interface
    com.tractrac.model.lib.api.metadata.IMetadata

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadataContainer.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadataContainer.html index 800a5e9380d..00e8565323a 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadataContainer.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadataContainer.html @@ -1,260 +1,165 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.metadata.IMetadataContainer (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.metadata.IMetadataContainer (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.metadata.IMetadataContainer

    +

    Uses of Interface
    com.tractrac.model.lib.api.metadata.IMetadataContainer

    -
    -
    +
    + -
  • - - -

    Uses of IMetadataContainer in com.tractrac.model.lib.api.map

    - - - - - - - - - - - - - - - - -
    Subinterfaces of IMetadataContainer in com.tractrac.model.lib.api.map 
    Modifier and TypeInterface and Description
    interface IMapItem +
  • +
    +

    Uses of IMetadataContainer in com.tractrac.model.lib.api.map

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A tangible object that can be drawn in the viewer.
    -
  • interface IPositionedItem + +
    interface 
    + +
    It represents a item with an attached position, either from a tracker or a static location.
    -
    +
  • + + -
  • - - -

    Uses of IMetadataContainer in com.tractrac.model.lib.api.route

    - - - - - - - - - - - - - - - - - - - - -
    Subinterfaces of IMetadataContainer in com.tractrac.model.lib.api.route 
    Modifier and TypeInterface and Description
    interface IControlRoute +
  • +
    +

    Uses of IMetadataContainer in com.tractrac.model.lib.api.route

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A route based on a number of controls/waypoints/control points.
    -
  • interface IPathRoute + +
    interface 
    + +
    A route based on a number of paths/segments/tracks/lines.
    -
    interface IRoute + +
    interface 
    + +
    - A route can be one of: IControlRoute or IPathRoute.
    -
    -
  • - + A route can be one of: IControlRoute or IPathRoute. + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadataFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadataFactory.html index ad6ba5be113..a8d705ad1a5 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadataFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IMetadataFactory.html @@ -1,186 +1,104 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.metadata.IMetadataFactory (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.metadata.IMetadataFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.metadata.IMetadataFactory

    +

    Uses of Interface
    com.tractrac.model.lib.api.metadata.IMetadataFactory

    -
    -
    +
    +
    + +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IPropertiesContainer.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IPropertiesContainer.html index ea2f52cdde6..4b47652fda1 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IPropertiesContainer.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/class-use/IPropertiesContainer.html @@ -1,287 +1,186 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.metadata.IPropertiesContainer (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.metadata.IPropertiesContainer (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +

    Uses of Interface
    com.tractrac.model.lib.api.metadata.IPropertiesContainer

    -
    -
    +
    + -
  • - - -

    Uses of IPropertiesContainer in com.tractrac.model.lib.api.map

    - - - - - - - - - - - - - - - - -
    Subinterfaces of IPropertiesContainer in com.tractrac.model.lib.api.map 
    Modifier and TypeInterface and Description
    interface IMapItem +
  • +
    +

    Uses of IPropertiesContainer in com.tractrac.model.lib.api.map

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A tangible object that can be drawn in the viewer.
    -
  • interface IPositionedItem + +
    interface 
    + +
    It represents a item with an attached position, either from a tracker or a static location.
    -
    +
  • + + -
  • - - -

    Uses of IPropertiesContainer in com.tractrac.model.lib.api.metadata

    - - - - - - - - - - - - -
    Subinterfaces of IPropertiesContainer in com.tractrac.model.lib.api.metadata 
    Modifier and TypeInterface and Description
    interface IMetadataContainer +
  • +
    +

    Uses of IPropertiesContainer in com.tractrac.model.lib.api.metadata

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    Implemented by all the classes that support metadata.
    -
  • + + +
  • -
  • - - -

    Uses of IPropertiesContainer in com.tractrac.model.lib.api.route

    - - - - - - - - - - - - - - - - - - - - -
    Subinterfaces of IPropertiesContainer in com.tractrac.model.lib.api.route 
    Modifier and TypeInterface and Description
    interface IControlRoute +
  • +
    +

    Uses of IPropertiesContainer in com.tractrac.model.lib.api.route

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A route based on a number of controls/waypoints/control points.
    -
  • interface IPathRoute + +
    interface 
    + +
    A route based on a number of paths/segments/tracks/lines.
    -
    interface IRoute + +
    interface 
    + +
    - A route can be one of: IControlRoute or IPathRoute.
    -
    -
  • - + A route can be one of: IControlRoute or IPathRoute. + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-frame.html deleted file mode 100644 index 40c91ea4d91..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-frame.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - -com.tractrac.model.lib.api.metadata (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.model.lib.api.metadata

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-summary.html index 9454291fdf1..134e248dcd3 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-summary.html @@ -1,176 +1,130 @@ - - + - + +com.tractrac.model.lib.api.metadata (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.metadata (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.model.lib.api.metadata

    +
    +
    +
    package com.tractrac.model.lib.api.metadata
    +

    The metadata functionality

    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-tree.html index 75218c10eef..27889d8b682 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-tree.html @@ -1,145 +1,83 @@ - - + - + +com.tractrac.model.lib.api.metadata Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.metadata Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.model.lib.api.metadata

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-use.html index 052cddbeb71..7d9d97e7298 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/metadata/package-use.html @@ -1,271 +1,169 @@ - - + - + +Uses of Package com.tractrac.model.lib.api.metadata (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.model.lib.api.metadata (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.model.lib.api.metadata

    -
    -
    +
    + -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.metadata used by com.tractrac.model.lib.api.event 
    Class and Description
    IMetadataContainer +
  • +
    + +
    +
    Class
    +
    Description
    + +
    Implemented by all the classes that support metadata.
    -
  • IPropertiesContainer 
    +
  • + +
     
    +
    + -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.metadata used by com.tractrac.model.lib.api.map 
    Class and Description
    IMetadataContainer +
  • +
    + +
    +
    Class
    +
    Description
    + +
    Implemented by all the classes that support metadata.
    -
  • IPropertiesContainer 
    + + +
     
    + +
  • -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.metadata used by com.tractrac.model.lib.api.metadata 
    Class and Description
    IMetadata +
  • +
    + +
    +
    Class
    +
    Description
    + +
    This class represents the metadata associated to an object.
    -
  • IPropertiesContainer 
    + + +
     
    + +
  • -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.metadata used by com.tractrac.model.lib.api.route 
    Class and Description
    IMetadataContainer +
  • +
    + +
    +
    Class
    +
    Description
    + +
    Implemented by all the classes that support metadata.
    -
  • IPropertiesContainer 
    + + +
     
    + +
  • + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-frame.html deleted file mode 100644 index d83d48b1b5d..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-frame.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - -com.tractrac.model.lib.api (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.model.lib.api

    -
    -

    Interfaces

    - -

    Classes

    - -
    - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-summary.html index 0d128d6945c..cabb0984da9 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-summary.html @@ -1,186 +1,165 @@ - - + - + +com.tractrac.model.lib.api (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Package com.tractrac.model.lib.api

    -
    -
    - Main package of the model project.
    +

    Package com.tractrac.model.lib.api

    -

    See: Description

    -
    -
    -
      -
    • - - - - - - - - - - - - - - - - -
      Interface Summary 
      InterfaceDescription
      IIdentifiable -
      Defines a method to get the Id of an entity.
      -
      INamed -
      Defines a method to get the name of an entity.
      -
      -
    • -
    • - - - - - - - - - - - - -
      Class Summary 
      ClassDescription
      ModelLocator -
      - This class is a locator used to get the instance of some of the factories - that are used for the creation of the objects.
      -
      -
    • -
    - - - -

    Package com.tractrac.model.lib.api Description

    +
    +
    package com.tractrac.model.lib.api
    +

    Main package of the model project. It contains the - ModelLocator class that is the entry point of + ModelLocator class that is the entry point of the library. It also contains generic classes that are implemented by all the classes of the model

    +
    +
    + +
    +
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-tree.html index fb977a169b6..2a29ed99b5b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-tree.html @@ -1,151 +1,91 @@ - - + - + +com.tractrac.model.lib.api Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.model.lib.api

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Class Hierarchy

    +
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-use.html index c18b5779cd6..b7cbadd0713 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/package-use.html @@ -1,248 +1,153 @@ - - + - + +Uses of Package com.tractrac.model.lib.api (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.model.lib.api (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.model.lib.api

    -
    -
    - - -
    +
    +
    + +
    +
    - - -
    - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IControlRoute.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IControlRoute.html index b8992b993e7..e61cec8ddb1 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IControlRoute.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IControlRoute.html @@ -1,113 +1,100 @@ - - + - + +IControlRoute (Subscription - Applications - TracAPI 5.0.0 API) + -IControlRoute (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.route
    -

    Interface IControlRoute

    + +

    Interface IControlRoute

    -
    -
    -
    -
    -
    -
    -
      -
    • + +
      getProperty(String propertyName, + int controlPointIndex)
      +
      +
      Returns a property attached to the object
      +
      +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IMetadataContainer

    +getMetadata
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +getProperty
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.route.IRoute

    +getExtent, getLength
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getControls

          -
          List<IMapItem> getControls()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getControls

            +
            List<IMapItem> getControls()

            The list of controls of a route

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            a list of controls
            +
          • -
          - - - -
            -
          • -

            getProperty

            -
            Object getProperty(String propertyName,
            -                   int controlPointIndex)
            +
          • +
            +

            getProperty

            +
            Object getProperty(String propertyName, + int controlPointIndex)
            Returns a property attached to the object
            -
            -
            Parameters:
            +
            +
            Parameters:
            propertyName - the name of the property
            controlPointIndex - the control point index
            -
            Returns:
            +
            Returns:
            the property value or null if it doesn't exist
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathRoute.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathRoute.html index 339faf283d8..401c46af889 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathRoute.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathRoute.html @@ -1,113 +1,100 @@ - - + - + +IPathRoute (Subscription - Applications - TracAPI 5.0.0 API) + -IPathRoute (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.route
    -

    Interface IPathRoute

    + +

    Interface IPathRoute

    -
    -
    -
    -
    -
    -
    -
      -
    • + +
      locateAlong(double mOffset)
      +
      +
      Locate a coordinate along the route at the specified m offset value
      +
      +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IMetadataContainer

    +getMetadata
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +getProperty
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.route.IRoute

    +getExtent, getLength
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getSegments

          -
          List<IPathSegment> getSegments()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getSegments

            +
            List<IPathSegment> getSegments()

            Returns the segments in the route.

            This method is thread-safety: it returns a copy of the list.

            -
            -
            Returns:
            +
            +
            Returns:
            the segments in the route.
            +
          • -
          - - - -
            -
          • -

            locateAlong

            -
            ICoordinate locateAlong(double mOffset)
            +
          • +
            +

            locateAlong

            +
            ICoordinate locateAlong(double mOffset)
            Locate a coordinate along the route at the specified m offset value
            -
            -
            Returns:
            +
            +
            Returns:
            A new coordinate at the specified m-value, null if outside the range of m-values in the route.
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathRouteFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathRouteFactory.html index 34d959215ba..0bba9a0b042 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathRouteFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathRouteFactory.html @@ -1,248 +1,172 @@ - - + - + +IPathRouteFactory (Subscription - Applications - TracAPI 5.0.0 API) + -IPathRouteFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.route
    -

    Interface IPathRouteFactory

    + +

    Interface IPathRouteFactory

    -
    -
    -
      -
    • -
      +
      +
      All Superinterfaces:
      -
      com.tractrac.common.lib.api.service.IServiceProvider
      +
      com.tractrac.common.lib.api.service.IServiceProvider

      -
      -
      public interface IPathRouteFactory
      -extends com.tractrac.common.lib.api.service.IServiceProvider
      +
      public interface IPathRouteFactory +extends com.tractrac.common.lib.api.service.IServiceProvider

      - Factory used to create a list of IPathRoute. The instance of this - factory can be retrieved using the ModelLocator class. + Factory used to create a list of IPathRoute. The instance of this + factory can be retrieved using the ModelLocator class.

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
      See Also:
      -
      Factory
      +
      See Also:
      +
      + +
      -
    • -
    -
    -
    - + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          createPathRoute

          -
          List<IPathRoute> createPathRoute(URL pathRouteURL)
          -
          Creates a list of IPathRoute from a file
          -
          -
          Parameters:
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            createPathRoute

            +
            List<IPathRoute> createPathRoute(URL pathRouteURL)
            +
            Creates a list of IPathRoute from a file
            +
            +
            Parameters:
            pathRouteURL - the path route file
            -
            Returns:
            +
            Returns:
            a path route collection
            +
          +
        -
      • -
      -
    -
    + - -
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathSegment.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathSegment.html index ee9d4f30928..e7320a9a72d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathSegment.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IPathSegment.html @@ -1,304 +1,213 @@ - - + - + +IPathSegment (Subscription - Applications - TracAPI 5.0.0 API) + -IPathSegment (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.route
    -

    Interface IPathSegment

    + +

    Interface IPathSegment

    -
    -
    -
      -
    • +

      -
      -
      public interface IPathSegment
      +
      public interface IPathSegment

      A route segment is a part of a segment route.

      It defines a segment within the route, the start offset of the segment on the route, and the index of the segment in the route..

      -
      -
      Author:
      +
      +
      Author:
      Jesper Grooss
      -
    • -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getSegment

          -
          ISegment getSegment()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getSegment

            +
            ISegment getSegment()
            Returns the segment in this route segment.
            -
            -
            Returns:
            +
            +
            Returns:
            the segment in this route segment.
            +
          • -
          - - - -
            -
          • -

            isReversed

            -
            boolean isReversed()
            +
          • +
            +

            isReversed

            +
            boolean isReversed()
            Flag specifying whether the segment is part of the route in reverse order, i.e. travelled from end of segment to start of segment.
            -
            -
            Returns:
            +
            +
            Returns:
            true if segment is reversed in route.
            +
          • -
          - - - -
            -
          • -

            getStartOffset

            -
            double getStartOffset()
            +
          • +
            +

            getStartOffset

            +
            double getStartOffset()
            Return the start offset of the segment that this route segment refers to. All offset values in the segment must have this start offset added in order to get the offset from the start of the route.
            -
            -
            Returns:
            +
            +
            Returns:
            the start offset of the segment
            +
          • -
          - - - -
            -
          • -

            getSegmentIndex

            -
            int getSegmentIndex()
            +
          • +
            +

            getSegmentIndex

            +
            int getSegmentIndex()
            Returns the index of this route segment in the route.
            -
            -
            Returns:
            +
            +
            Returns:
            the index of this route segment in the route.
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IRoute.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IRoute.html index fb8fa333365..3c764358780 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IRoute.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/IRoute.html @@ -1,307 +1,208 @@ - - + - + +IRoute (Subscription - Applications - TracAPI 5.0.0 API) + -IRoute (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.route
    -

    Interface IRoute

    + +

    Interface IRoute

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
      double
      + +
      +
      Returns the length of the route.
      +
      +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IMetadataContainer

    +getMetadata
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.metadata.IPropertiesContainer

    +getProperty
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getExtent

          -
          IExtent getExtent()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getExtent

            +
            IExtent getExtent()
            Gets the extent of the route
            -
            -
            Returns:
            +
            +
            Returns:
            the extent
            +
          • -
          - - - -
            -
          • -

            getLength

            -
            double getLength()
            +
          • +
            +

            getLength

            +
            double getLength()
            Returns the length of the route.
            -
            -
            Returns:
            +
            +
            Returns:
            the length of the route.
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/ISegment.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/ISegment.html index 36b91edb0f2..256027013c9 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/ISegment.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/ISegment.html @@ -1,286 +1,191 @@ - - + - + +ISegment (Subscription - Applications - TracAPI 5.0.0 API) + -ISegment (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.route
    -

    Interface ISegment

    + +

    Interface ISegment

    -
    -
    - -
    -
    -
    -
    -
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.attachment.IAttachable

    +getAttachment, setAttachment
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.IIdentifiable

    +getId
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.INamed

    +getName
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getCoordinates

          -
          ICoordinateSequence getCoordinates()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getCoordinates

            +
            ICoordinateSequence getCoordinates()
            Returns the coordinates that the segment is based on.
            -
            -
            Returns:
            +
            +
            Returns:
            a sequence of coordinates.
            +
          • -
          - - - -
            -
          • -

            getExtent

            -
            IExtent getExtent()
            +
          • +
            +

            getExtent

            +
            IExtent getExtent()
            Gets the segment's extent
            -
            -
            Returns:
            +
            +
            Returns:
            the extent
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IControlRoute.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IControlRoute.html index 4d20ed17fc5..4801b8c8604 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IControlRoute.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IControlRoute.html @@ -1,172 +1,94 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.route.IControlRoute (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.route.IControlRoute (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.route.IControlRoute

    +

    Uses of Interface
    com.tractrac.model.lib.api.route.IControlRoute

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathRoute.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathRoute.html index c62653dd880..b455d8fe75f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathRoute.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathRoute.html @@ -1,199 +1,115 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.route.IPathRoute (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.route.IPathRoute (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.route.IPathRoute

    +

    Uses of Interface
    com.tractrac.model.lib.api.route.IPathRoute

    -
    -
    +
    +
    +
    + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathRouteFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathRouteFactory.html index 0c134ab51ce..0e444f1d571 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathRouteFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathRouteFactory.html @@ -1,186 +1,104 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.route.IPathRouteFactory (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.route.IPathRouteFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.route.IPathRouteFactory

    +

    Uses of Interface
    com.tractrac.model.lib.api.route.IPathRouteFactory

    -
    -
    +
    +
    + +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathSegment.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathSegment.html index 254bf5316d6..3e73bed93b4 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathSegment.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IPathSegment.html @@ -1,172 +1,94 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.route.IPathSegment (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.route.IPathSegment (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.route.IPathSegment

    +

    Uses of Interface
    com.tractrac.model.lib.api.route.IPathSegment

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IRoute.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IRoute.html index 62c57626130..5151de49063 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IRoute.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/IRoute.html @@ -1,268 +1,170 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.route.IRoute (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.route.IRoute (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.route.IRoute

    +

    Uses of Interface
    com.tractrac.model.lib.api.route.IRoute

    -
    -
    + +
    IRace.getRoutes()
    +
    +
    + Gets the routes of this race
    +
    +
    + -
  • - - -

    Uses of IRoute in com.tractrac.model.lib.api.route

    - - - - - - - - - - - - - - - - -
    Subinterfaces of IRoute in com.tractrac.model.lib.api.route 
    Modifier and TypeInterface and Description
    interface IControlRoute +
  • +
    +

    Uses of IRoute in com.tractrac.model.lib.api.route

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    A route based on a number of controls/waypoints/control points.
    -
  • interface IPathRoute + +
    interface 
    + +
    A route based on a number of paths/segments/tracks/lines.
    -
    +
  • + + -
  • - - -

    Uses of IRoute in com.tractrac.subscription.lib.api.route

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.route with parameters of type IRoute 
    Modifier and TypeMethod and Description
    voidIRoutesListener.updateRoute(IRoute route) +
  • +
    +

    Uses of IRoute in com.tractrac.subscription.lib.api.route

    +
    Methods in com.tractrac.subscription.lib.api.route with parameters of type IRoute
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IRoutesListener.updateRoute(IRoute route)
    +
    This event is thrown when a route is updated.
    -
  • -
  • - + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/ISegment.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/ISegment.html index d667e78d39a..51105aba8a2 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/ISegment.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/class-use/ISegment.html @@ -1,171 +1,93 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.route.ISegment (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.route.ISegment (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.route.ISegment

    +

    Uses of Interface
    com.tractrac.model.lib.api.route.ISegment

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-frame.html deleted file mode 100644 index 5ecb6b894df..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-frame.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - -com.tractrac.model.lib.api.route (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.model.lib.api.route

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-summary.html index 20fde5fca25..e738199d106 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-summary.html @@ -1,194 +1,144 @@ - - + - + +com.tractrac.model.lib.api.route (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.route (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.model.lib.api.route

    +
    +
    +
    package com.tractrac.model.lib.api.route
    +

    The route configuration: controls, paths and routes

    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-tree.html index 8570ad46f5a..82e7163d708 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-tree.html @@ -1,173 +1,111 @@ - - + - + +com.tractrac.model.lib.api.route Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.route Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.model.lib.api.route

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-use.html index e4b24976d69..ee6e6971913 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/route/package-use.html @@ -1,289 +1,187 @@ - - + - + +Uses of Package com.tractrac.model.lib.api.route (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.model.lib.api.route (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.model.lib.api.route

    -
    -
    +
    +
    + -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.route used by com.tractrac.model.lib.api.event 
    Class and Description
    IRoute +
  • +
    + +
    +
    Class
    +
    Description
    + +
    - A route can be one of: IControlRoute or IPathRoute.
    -
  • + A route can be one of: IControlRoute or IPathRoute.
  • + + + -
  • - - - - - - - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.route used by com.tractrac.model.lib.api.route 
    Class and Description
    IPathRoute +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A route based on a number of paths/segments/tracks/lines.
    -
  • IPathSegment + + +
    A route segment is a part of a segment route.
    -
    IRoute + + +
    - A route can be one of: IControlRoute or IPathRoute.
    -
    ISegment + A route can be one of: IControlRoute or IPathRoute. + + +
    - A segment is a part of an IPathRoute.
    -
    + A segment is a part of an IPathRoute. + + +
  • -
  • - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.route used by com.tractrac.subscription.lib.api.control 
    Class and Description
    IControlRoute +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A route based on a number of controls/waypoints/control points.
    -
  • IPathRoute + + +
    A route based on a number of paths/segments/tracks/lines.
    -
    + + +
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.route used by com.tractrac.subscription.lib.api.route 
    Class and Description
    IRoute +
  • +
    + +
    +
    Class
    +
    Description
    + +
    - A route can be one of: IControlRoute or IPathRoute.
    -
  • + A route can be one of: IControlRoute or IPathRoute. + + +
  • + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/ISensorData.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/ISensorData.html index 3c0eb22cd02..18e44e2943b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/ISensorData.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/ISensorData.html @@ -1,118 +1,105 @@ - - + - + +ISensorData (Subscription - Applications - TracAPI 5.0.0 API) + -ISensorData (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.sensor
    -

    Interface ISensorData

    + +

    Interface ISensorData

    -
    -
    -
      -
    • -
      +
      +
      All Superinterfaces:
      -
      ITimeData
      +
      ITimeData

      -
      -
      public interface ISensorData
      -extends ITimeData
      +
      public interface ISensorData +extends ITimeData

      This interface implements sensor data. It has methods to retrieve all the dimensions that are supported at this moment (at it will be extended with new methods when the system supports new types of sensors). All the dimensions have the same time stamp - (returned by the @ITimeData.getTimestamp() method). + (returned by the @ITimeData.getTimestamp() method).

      If the method for a dimension returns null, means that there is not a value @@ -120,104 +107,86 @@ extends Author: +

      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.model.lib.api.data.ITimeData

    +getTimestamp
    + + + + +
    +
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/class-use/ISensorData.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/class-use/ISensorData.html index a54e0ed4e60..3994d5c7d85 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/class-use/ISensorData.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/class-use/ISensorData.html @@ -1,201 +1,117 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.sensor.ISensorData (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.sensor.ISensorData (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.sensor.ISensorData

    +

    Uses of Interface
    com.tractrac.model.lib.api.sensor.ISensorData

    -
    -
    +
    + -
  • - - -

    Uses of ISensorData in com.tractrac.subscription.lib.api.control

    - - - - - - - - - - - - -
    Methods in com.tractrac.subscription.lib.api.control with parameters of type ISensorData 
    Modifier and TypeMethod and Description
    voidIControlPointSensorDataListener.gotSensorData(IMapItem control, - ISensorData sensorData, - int controlPointNumber) +
  • +
    +

    Uses of ISensorData in com.tractrac.subscription.lib.api.control

    +
    Methods in com.tractrac.subscription.lib.api.control with parameters of type ISensorData
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    +
    IControlPointSensorDataListener.gotSensorData(IMapItem control, + ISensorData sensorData, + int controlPointNumber)
    +
    Invoked when a sensor data for a control point arrives.
    -
  • -
  • - +
    + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-frame.html deleted file mode 100644 index 2784a6850ff..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-frame.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - -com.tractrac.model.lib.api.sensor (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.model.lib.api.sensor

    -
    -

    Interfaces

    - -
    - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-summary.html index e3aa0dc244d..550774fa9e9 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-summary.html @@ -1,159 +1,119 @@ - - + - + +com.tractrac.model.lib.api.sensor (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.sensor (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.model.lib.api.sensor

    +
    +
    +
    package com.tractrac.model.lib.api.sensor
    +

    Sensor data interfaces

    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-tree.html index 836092724ed..e9f30e20af7 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-tree.html @@ -1,139 +1,77 @@ - - + - + +com.tractrac.model.lib.api.sensor Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.sensor Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.model.lib.api.sensor

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-use.html index f70ac94ed2a..565c7964585 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/sensor/package-use.html @@ -1,190 +1,110 @@ - - + - + +Uses of Package com.tractrac.model.lib.api.sensor (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.model.lib.api.sensor (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.model.lib.api.sensor

    -
    -
    +
    + -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.sensor used by com.tractrac.subscription.lib.api.control 
    Class and Description
    ISensorData +
  • +
    + +
    +
    Class
    +
    Description
    + +
    This interface implements sensor data.
    -
  • +
  • +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ICoordinate.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ICoordinate.html index f793d55cf55..9f20cc05847 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ICoordinate.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ICoordinate.html @@ -1,108 +1,95 @@ - - + - + +ICoordinate (Subscription - Applications - TracAPI 5.0.0 API) + -ICoordinate (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.spatial
    -

    Interface ICoordinate

    + +

    Interface ICoordinate

    -
    -
    -
      -
    • +

      -
      -
      public interface ICoordinate
      +
      public interface ICoordinate

      A raw coordinate.

      @@ -110,261 +97,171 @@ var activeTableTab = "activeTableTab"; A coordinate may and may not have a z and m ordinate. If z and m is not valid, a value of Double.NaN must be returned

      -
      -
      Author:
      +
      +
      Author:
      Jesper Grooss
      -
    • -
    -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          doubledistance(ICoordinate coordinate) +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          double
          +
          distance(ICoordinate coordinate)
          +
          Gets the distance between two coordinates
          -
        • doubledistance(ICoordinate coordinate1, - ICoordinate coordinate2) -
          Gets the distance between a point and a line
          -
          doubledistanceSq(ICoordinate coordinate) -
          Gets the square of the distance between two coordinates.
          -
          doublegetM() -
          The value of the m coordinate
          -
          doublegetX() -
          The value of the x coordinate
          -
          doublegetY() -
          The value of the y coordinate
          -
          doublegetZ() -
          The value of the z coordinate
          -
          -
        • -
        - -
    -
    -
      -
    • - -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getX

          -
          double getX()
          +
          double
          +
          distance(ICoordinate coordinate1, + ICoordinate coordinate2)
          +
          +
          Gets the distance between a point and a line
          +
          +
          double
          +
          distanceSq(ICoordinate coordinate)
          +
          +
          Gets the square of the distance between two coordinates.
          +
          +
          double
          + +
          +
          The value of the m coordinate
          +
          +
          double
          + +
          The value of the x coordinate
          -
          -
          Returns:
          +
          +
          double
          + +
          +
          The value of the y coordinate
          +
          +
          double
          + +
          +
          The value of the z coordinate
          +
          +
    +
    +
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getX

        +
        double getX()
        +
        The value of the x coordinate
        +
        +
        Returns:
        the x coordinate
        +
      • -
      - - - -
        -
      • -

        getY

        -
        double getY()
        +
      • +
        +

        getY

        +
        double getY()
        The value of the y coordinate
        -
        -
        Returns:
        +
        +
        Returns:
        the y coordinate
        +
      • -
      - - - -
        -
      • -

        getZ

        -
        double getZ()
        +
      • +
        +

        getZ

        +
        double getZ()
        The value of the z coordinate
        -
        -
        Returns:
        +
        +
        Returns:
        the z coordinate
        +
      • -
      - - - -
        -
      • -

        getM

        -
        double getM()
        +
      • +
        +

        getM

        +
        double getM()
        The value of the m coordinate
        -
        -
        Returns:
        +
        +
        Returns:
        the m coordinate
        +
      • -
      - - - -
        -
      • -

        distance

        -
        double distance(ICoordinate coordinate)
        +
      • +
        +

        distance

        +
        double distance(ICoordinate coordinate)
        Gets the distance between two coordinates
        -
        -
        Parameters:
        +
        +
        Parameters:
        coordinate - the coordinate to compare with
        -
        Returns:
        +
        Returns:
        the distance between the two coordinates
        +
      • -
      - - - -
        -
      • -

        distanceSq

        -
        double distanceSq(ICoordinate coordinate)
        +
      • +
        +

        distanceSq

        +
        double distanceSq(ICoordinate coordinate)
        Gets the square of the distance between two coordinates.
        -
        -
        Parameters:
        +
        +
        Parameters:
        coordinate - the coordinate to compare with
        -
        Returns:
        +
        Returns:
        the square of the distance between the two coordinates
        +
      • -
      - - - -
        -
      • -

        distance

        -
        double distance(ICoordinate coordinate1,
        -                ICoordinate coordinate2)
        +
      • +
        +

        distance

        +
        double distance(ICoordinate coordinate1, + ICoordinate coordinate2)
        Gets the distance between a point and a line
        -
        -
        Parameters:
        +
        +
        Parameters:
        coordinate1 - the first point of the line
        coordinate2 - the second point of the line
        -
        Returns:
        +
        Returns:
        the distance between the two geometries
        +
      +
    - - -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ICoordinateSequence.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ICoordinateSequence.html index 77091c0e679..a95e1206226 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ICoordinateSequence.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ICoordinateSequence.html @@ -1,308 +1,217 @@ - - + - + +ICoordinateSequence (Subscription - Applications - TracAPI 5.0.0 API) + -ICoordinateSequence (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.spatial
    -

    Interface ICoordinateSequence

    + +

    Interface ICoordinateSequence

    -
    -
    -
      -
    • +

      -
      -
      public interface ICoordinateSequence
      +
      public interface ICoordinateSequence

      A sequence of points connected by straight lines (line segments)

      -
      -
      Version:
      +
      +
      Version:
      3.0
      -
      Author:
      +
      Author:
      Jesper Grooss
      -
    • -
    -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          ICoordinategetCoordinate(int index) +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          + +
          getCoordinate(int index)
          +
          Returns the coordinate at the specified index.
          -
        • ICoordinatelocateAlong(double mOffset) -
          Returns the coordinate at the specified m ordinate value
          -
          intsize() -
          Returns the number of points in the coordinate sequence.
          -
          ICoordinate[]toArray() -
          Returns (possibly copies of) the coordinates in this collection.
          -
          -
        • -
        - -
    -
    -
      -
    • - -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          size

          -
          int size()
          + +
          locateAlong(double mOffset)
          +
          +
          Returns the coordinate at the specified m ordinate value
          +
          +
          int
          + +
          Returns the number of points in the coordinate sequence.
          -
          -
          Returns:
          +
          + + +
          +
          Returns (possibly copies of) the coordinates in this collection.
          +
          +
    +
    +
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        size

        +
        int size()
        +
        Returns the number of points in the coordinate sequence.
        +
        +
        Returns:
        the number of points in the coordinate sequence.
        +
      • -
      - - - -
        -
      • -

        getCoordinate

        -
        ICoordinate getCoordinate(int index)
        +
      • +
        +

        getCoordinate

        +
        ICoordinate getCoordinate(int index)
        Returns the coordinate at the specified index.
        -
        -
        Parameters:
        +
        +
        Parameters:
        index - Index of coordinate to get
        -
        Returns:
        +
        Returns:
        the coordinate at the specified index.
        +
      • -
      - - - -
        -
      • -

        toArray

        -
        ICoordinate[] toArray()
        +
      • +
        +

        toArray

        +
        ICoordinate[] toArray()
        Returns (possibly copies of) the coordinates in this collection.
        -
        -
        Returns:
        +
        +
        Returns:
        (possibly copies of) the coordinates in this collection.
        +
      • -
      - - - -
        -
      • -

        locateAlong

        -
        ICoordinate locateAlong(double mOffset)
        +
      • +
        +

        locateAlong

        +
        ICoordinate locateAlong(double mOffset)
        Returns the coordinate at the specified m ordinate value

        It is required that the coordinates has an m ordiante value and is sorted in order of strictly increasing m ordinate value

        -
        -
        Parameters:
        +
        +
        Parameters:
        mOffset - The ordinate to interpolate at
        -
        Returns:
        +
        Returns:
        the coordinate at the specified m ordinate value.
        +
      +
    - - -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/IExtent.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/IExtent.html index 0ec10f3befc..e4a1ae82fbb 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/IExtent.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/IExtent.html @@ -1,355 +1,252 @@ - - + - + +IExtent (Subscription - Applications - TracAPI 5.0.0 API) + -IExtent (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.spatial
    -

    Interface IExtent

    + +

    Interface IExtent

    -
    -
    -
      -
    • +

      -
      -
      public interface IExtent
      +
      public interface IExtent
      A simple extent
      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          doublegetCenterLat() +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          double
          + +
          Gets the latitude of the center
          -
        • doublegetCenterLon() -
          Gets the longitude of the center
          -
          doublegetLRLat() -
          Gets the latitude of the lower right corner
          -
          doublegetLRLon() -
          Gets the longitude of the lower right corner
          -
          doublegetULLat() -
          Gets the latitude of the upper left corner
          -
          doublegetULLon() -
          Gets the longitude of the upper left corner
          -
          booleanisValid() -
          If the extent is valid or not
          -
          -
        • -
        - -
    -
    -
      -
    • - -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getULLon

          -
          double getULLon()
          +
          double
          + +
          +
          Gets the longitude of the center
          +
          +
          double
          + +
          +
          Gets the latitude of the lower right corner
          +
          +
          double
          + +
          +
          Gets the longitude of the lower right corner
          +
          +
          double
          + +
          +
          Gets the latitude of the upper left corner
          +
          +
          double
          + +
          Gets the longitude of the upper left corner
          -
          -
          Returns:
          +
          +
          boolean
          + +
          +
          If the extent is valid or not
          +
          +
    +
    +
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        getULLon

        +
        double getULLon()
        +
        Gets the longitude of the upper left corner
        +
        +
        Returns:
        the ul longitude
        +
      • -
      - - - -
        -
      • -

        getULLat

        -
        double getULLat()
        +
      • +
        +

        getULLat

        +
        double getULLat()
        Gets the latitude of the upper left corner
        -
        -
        Returns:
        +
        +
        Returns:
        the ul latitude
        +
      • -
      - - - -
        -
      • -

        getLRLon

        -
        double getLRLon()
        +
      • +
        +

        getLRLon

        +
        double getLRLon()
        Gets the longitude of the lower right corner
        -
        -
        Returns:
        +
        +
        Returns:
        the lr longitude
        +
      • -
      - - - -
        -
      • -

        getLRLat

        -
        double getLRLat()
        +
      • +
        +

        getLRLat

        +
        double getLRLat()
        Gets the latitude of the lower right corner
        -
        -
        Returns:
        +
        +
        Returns:
        the lr latitude
        +
      • -
      - - - -
        -
      • -

        getCenterLon

        -
        double getCenterLon()
        +
      • +
        +

        getCenterLon

        +
        double getCenterLon()
        Gets the longitude of the center
        -
        -
        Returns:
        +
        +
        Returns:
        the center longitude
        +
      • -
      - - - -
        -
      • -

        getCenterLat

        -
        double getCenterLat()
        +
      • +
        +

        getCenterLat

        +
        double getCenterLat()
        Gets the latitude of the center
        -
        -
        Returns:
        +
        +
        Returns:
        the center latitude
        +
      • -
      - - - -
        -
      • -

        isValid

        -
        boolean isValid()
        +
      • +
        +

        isValid

        +
        boolean isValid()
        If the extent is valid or not
        -
        -
        Returns:
        +
        +
        Returns:
        if is valid
        +
      +
    - - -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/IGeoCoordinate.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/IGeoCoordinate.html index 1b086dc66ee..bcc522040e5 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/IGeoCoordinate.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/IGeoCoordinate.html @@ -1,112 +1,99 @@ - - + - + +IGeoCoordinate (Subscription - Applications - TracAPI 5.0.0 API) + -IGeoCoordinate (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.spatial
    -

    Interface IGeoCoordinate

    + +

    Interface IGeoCoordinate

    -
    -
    -
      -
    • -
      +
      +
      All Known Subinterfaces:
      -
      IPosition, IPositionSnapped
      +
      IPosition, IPositionSnapped

      -
      -
      public interface IGeoCoordinate
      +
      public interface IGeoCoordinate

      A geographical coordinate.

      @@ -117,278 +104,184 @@ var activeTableTab = "activeTableTab"; A geographical coordinate may and may not have a height. If height is not valid, a value of Double.NaN must be returned

      -
      -
      Author:
      +
      +
      Author:
      Jesper Grooss
      -
    • -
    -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          doublegetHeight() +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          double
          + +
          Returns the height/altitude of the position.
          -
        • doublegetLatitude() -
          Returns the latitude coordinate of the position.
          -
          doublegetLongitude() -
          Returns the longitude coordinate of the position.
          -
          doublegetM() -
          Returns the m coordinate (in meters)
          -
          voidsetHeight(double height) -
          Sets the value of the height
          -
          voidsetLatitude(double latitude) -
          Sets the value of the latitude
          -
          voidsetLongitude(double longitude) -
          Sets the value of the longitude
          -
          voidsetM(double m) -
          Sets the value of the m coordinate
          -
          -
        • -
        - -
    -
    -
      -
    • +
      double
      + +
      +
      Returns the latitude coordinate of the position.
      +
      +
      double
      + +
      +
      Returns the longitude coordinate of the position.
      +
      +
      double
      + +
      +
      Returns the m coordinate (in meters)
      +
      +
      void
      +
      setHeight(double height)
      +
      +
      Sets the value of the height
      +
      +
      void
      +
      setLatitude(double latitude)
      +
      +
      Sets the value of the latitude
      +
      +
      void
      +
      setLongitude(double longitude)
      +
      +
      Sets the value of the longitude
      +
      +
      void
      +
      setM(double m)
      +
      +
      Sets the value of the m coordinate
      +
      +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getLongitude

          -
          double getLongitude()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getLongitude

            +
            double getLongitude()
            Returns the longitude coordinate of the position.

            The longitude can contain values in the range of [-180; 180]

            -
            -
            Returns:
            +
            +
            Returns:
            the longitude coordinate of the position.
            +
          • -
          - - - -
            -
          • -

            getLatitude

            -
            double getLatitude()
            +
          • +
            +

            getLatitude

            +
            double getLatitude()
            Returns the latitude coordinate of the position.

            The latitude can contain values in the range of [-90; 90]

            -
            -
            Returns:
            +
            +
            Returns:
            the latitude coordinate of the position.
            +
          • -
          - - - -
            -
          • -

            getHeight

            -
            double getHeight()
            +
          • +
            +

            getHeight

            +
            double getHeight()
            Returns the height/altitude of the position.

            The height is measured in meters above mean sea level.

            -
            -
            Returns:
            +
            +
            Returns:
            the height/altitude coordinate of the position.
            +
          • -
          - - - -
            -
          • -

            getM

            -
            double getM()
            +
          • +
            +

            getM

            +
            double getM()
            Returns the m coordinate (in meters)
            -
            -
            Returns:
            +
            +
            Returns:
            the m coordinate
            +
          • -
          - - - -
            -
          • -

            setLongitude

            -
            void setLongitude(double longitude)
            +
          • +
            +

            setLongitude

            +
            void setLongitude(double longitude)
            Sets the value of the longitude
            -
            -
            Parameters:
            +
            +
            Parameters:
            longitude - the longitude value
            +
          • -
          - - - -
            -
          • -

            setLatitude

            -
            void setLatitude(double latitude)
            +
          • +
            +

            setLatitude

            +
            void setLatitude(double latitude)
            Sets the value of the latitude
            -
            -
            Parameters:
            +
            +
            Parameters:
            latitude - the latitude value
            +
          • -
          - - - -
            -
          • -

            setHeight

            -
            void setHeight(double height)
            +
          • +
            +

            setHeight

            +
            void setHeight(double height)
            Sets the value of the height
            -
            -
            Parameters:
            +
            +
            Parameters:
            height - the height value
            +
          • -
          - - - -
            -
          • -

            setM

            -
            void setM(double m)
            +
          • +
            +

            setM

            +
            void setM(double m)
            Sets the value of the m coordinate
            -
            -
            Parameters:
            +
            +
            Parameters:
            m - the m coordinate value
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ISimplePosition.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ISimplePosition.html index d5e951e4bc9..8f5b0a4fb42 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ISimplePosition.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/ISimplePosition.html @@ -1,275 +1,180 @@ - - + - + +ISimplePosition (Subscription - Applications - TracAPI 5.0.0 API) + -ISimplePosition (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.model.lib.api.spatial
    -

    Interface ISimplePosition

    + +

    Interface ISimplePosition

    -
    -
    -
      -
    • +

      -
      -
      public interface ISimplePosition
      -
    • -
    -
    -
    - + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getLatitude

          -
          double getLatitude()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getLatitude

            +
            double getLatitude()
            +
            +
          • +
          • +
            +

            getLongitude

            +
            double getLongitude()
            +
            +
          • +
          • +
            +

            getHeight

            +
            double getHeight()
            +
            +
          • +
          • +
            +

            getM

            +
            double getM()
            +
            +
          • +
          • +
            +

            getTimestamp

            +
            long getTimestamp()
            +
          - - - -
            -
          • -

            getLongitude

            -
            double getLongitude()
            +
        - - - -
          -
        • -

          getHeight

          -
          double getHeight()
          -
        • -
        - - - -
          -
        • -

          getM

          -
          double getM()
          -
        • -
        - - - -
          -
        • -

          getTimestamp

          -
          long getTimestamp()
          -
        • -
        -
      • -
      - -
    -
    -
    + - -
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ICoordinate.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ICoordinate.html index 0e44b956ccc..d365d8775a9 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ICoordinate.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ICoordinate.html @@ -1,275 +1,176 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.spatial.ICoordinate (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.spatial.ICoordinate (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.spatial.ICoordinate

    +

    Uses of Interface
    com.tractrac.model.lib.api.spatial.ICoordinate

    -
    -
    +
    + -
  • - - -

    Uses of ICoordinate in com.tractrac.model.lib.api.route

    - - - - - - - - - - - - -
    Methods in com.tractrac.model.lib.api.route that return ICoordinate 
    Modifier and TypeMethod and Description
    ICoordinateIPathRoute.locateAlong(double mOffset) +
  • +
    +

    Uses of ICoordinate in com.tractrac.model.lib.api.route

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    IPathRoute.locateAlong(double mOffset)
    +
    Locate a coordinate along the route at the specified m offset value
    -
  • +
  • +
    + -
  • - - -

    Uses of ICoordinate in com.tractrac.model.lib.api.spatial

    - - - - - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.model.lib.api.spatial that return ICoordinate 
    Modifier and TypeMethod and Description
    ICoordinateICoordinateSequence.getCoordinate(int index) +
  • +
    +

    Uses of ICoordinate in com.tractrac.model.lib.api.spatial

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    ICoordinateSequence.getCoordinate(int index)
    +
    Returns the coordinate at the specified index.
    -
  • ICoordinateICoordinateSequence.locateAlong(double mOffset) + + +
    ICoordinateSequence.locateAlong(double mOffset)
    +
    Returns the coordinate at the specified m ordinate value
    -
    ICoordinate[]ICoordinateSequence.toArray() + + +
    ICoordinateSequence.toArray()
    +
    Returns (possibly copies of) the coordinates in this collection.
    -
    - - - - - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.model.lib.api.spatial with parameters of type ICoordinate 
    Modifier and TypeMethod and Description
    doubleICoordinate.distance(ICoordinate coordinate) + + +
    Methods in com.tractrac.model.lib.api.spatial with parameters of type ICoordinate
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    double
    +
    ICoordinate.distance(ICoordinate coordinate)
    +
    Gets the distance between two coordinates
    -
    doubleICoordinate.distance(ICoordinate coordinate1, - ICoordinate coordinate2) + +
    double
    +
    ICoordinate.distance(ICoordinate coordinate1, + ICoordinate coordinate2)
    +
    Gets the distance between a point and a line
    -
    doubleICoordinate.distanceSq(ICoordinate coordinate) + +
    double
    +
    ICoordinate.distanceSq(ICoordinate coordinate)
    +
    Gets the square of the distance between two coordinates.
    -
    -
  • - + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ICoordinateSequence.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ICoordinateSequence.html index 45bb6b7c320..73f0449e9e8 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ICoordinateSequence.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ICoordinateSequence.html @@ -1,171 +1,93 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.spatial.ICoordinateSequence (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.spatial.ICoordinateSequence (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.spatial.ICoordinateSequence

    +

    Uses of Interface
    com.tractrac.model.lib.api.spatial.ICoordinateSequence

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/IExtent.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/IExtent.html index 2fd01c4c79f..08d93ca43a4 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/IExtent.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/IExtent.html @@ -1,204 +1,119 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.spatial.IExtent (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.spatial.IExtent (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.spatial.IExtent

    +

    Uses of Interface
    com.tractrac.model.lib.api.spatial.IExtent

    -
    -
    +
    + -
  • - - -

    Uses of IExtent in com.tractrac.model.lib.api.route

    - - - - - - - - - - - - - - - - -
    Methods in com.tractrac.model.lib.api.route that return IExtent 
    Modifier and TypeMethod and Description
    IExtentISegment.getExtent() -
    Gets the segment's extent
    -
    IExtentIRoute.getExtent() +
  • +
    +

    Uses of IExtent in com.tractrac.model.lib.api.route

    + +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    IRoute.getExtent()
    +
    Gets the extent of the route
    -
  • -
  • - +
    + +
    ISegment.getExtent()
    +
    +
    Gets the segment's extent
    +
    + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/IGeoCoordinate.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/IGeoCoordinate.html index 380aab1a085..e324e1c927c 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/IGeoCoordinate.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/IGeoCoordinate.html @@ -1,179 +1,100 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.spatial.IGeoCoordinate (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.spatial.IGeoCoordinate (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.spatial.IGeoCoordinate

    +

    Uses of Interface
    com.tractrac.model.lib.api.spatial.IGeoCoordinate

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ISimplePosition.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ISimplePosition.html index f4ee860e9b0..19dfecc7528 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ISimplePosition.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/class-use/ISimplePosition.html @@ -1,169 +1,91 @@ - - + - + +Uses of Interface com.tractrac.model.lib.api.spatial.ISimplePosition (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.model.lib.api.spatial.ISimplePosition (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.model.lib.api.spatial.ISimplePosition

    +

    Uses of Interface
    com.tractrac.model.lib.api.spatial.ISimplePosition

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-frame.html deleted file mode 100644 index c2c12259ae0..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-frame.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - -com.tractrac.model.lib.api.spatial (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.model.lib.api.spatial

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-summary.html index d0a009910af..c31d00cf791 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-summary.html @@ -1,183 +1,135 @@ - - + - + +com.tractrac.model.lib.api.spatial (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.spatial (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.model.lib.api.spatial

    +
    +
    +
    package com.tractrac.model.lib.api.spatial
    +

    The spatial data

    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-tree.html index 1aedea3af5f..7059d33e310 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-tree.html @@ -1,139 +1,77 @@ - - + - + +com.tractrac.model.lib.api.spatial Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.model.lib.api.spatial Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.model.lib.api.spatial

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-use.html index e038ebd5339..2fb740f9e58 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/model/lib/api/spatial/package-use.html @@ -1,275 +1,174 @@ - - + - + +Uses of Package com.tractrac.model.lib.api.spatial (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.model.lib.api.spatial (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.model.lib.api.spatial

    -
    -
    +
    + -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.spatial used by com.tractrac.model.lib.api.event 
    Class and Description
    IExtent +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A simple extent
    -
  • +
  • +
    + -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.spatial used by com.tractrac.model.lib.api.map 
    Class and Description
    ISimplePosition 
    +
  • +
    + +
    +
    Class
    +
    Description
    + +
     
    +
    +
  • -
  • - - - - - - - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.spatial used by com.tractrac.model.lib.api.route 
    Class and Description
    ICoordinate +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A raw coordinate.
    -
  • ICoordinateSequence + + +
    A sequence of points connected by straight lines (line segments)
    -
    IExtent + + +
    A simple extent
    -
    + + +
  • -
  • - - - - - - - - - - - - -
    Classes in com.tractrac.model.lib.api.spatial used by com.tractrac.model.lib.api.spatial 
    Class and Description
    ICoordinate +
  • +
    + +
    +
    Class
    +
    Description
    + +
    A raw coordinate.
    -
  • + + +
  • + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/IEventSubscriber.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/IEventSubscriber.html index 5d54ab59f13..095de805c1d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/IEventSubscriber.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/IEventSubscriber.html @@ -1,501 +1,374 @@ - - + - + +IEventSubscriber (Subscription - Applications - TracAPI 5.0.0 API) + -IEventSubscriber (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api
    -

    Interface IEventSubscriber

    + +

    Interface IEventSubscriber

    -
    -
    -
      -
    • -
      +
      +
      All Superinterfaces:
      -
      ISubscriber
      +
      ISubscriber

      -
      -
      public interface IEventSubscriber
      -extends ISubscriber
      +
      public interface IEventSubscriber +extends ISubscriber

      Class that handles subscription to data for one event. This class is created - using a ISubscriberFactory class: + using a ISubscriberFactory class:

        ISubscriberFactory subscriberFactory = SubscriptionLocator.getSusbcriberFactory();
        ISubscriber subscriber = subscriberFactory.createSubscriber(parameters - url);
        
      -
      -
      Author:
      +
      +
      Author:
      Jesper Grooss
      -
    • -
    -
    -
    -
    -
    -
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.subscription.lib.api.ISubscriber

    +isRunning, start, stop, subscribeConnectionStatus, unsubscribeConnectionStatus
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          subscribeMapItems

          -
          void subscribeMapItems(IMapItemsListener listener)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            subscribeMapItems

            +
            void subscribeMapItems(IMapItemsListener listener)

            Subscriber to map item changes. A map item change happens when a map item is updated, created or deleted

            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener used in the subscribe method
            +
          • -
          - - - -
            -
          • -

            unsubscribeMapItems

            -
            void unsubscribeMapItems(IMapItemsListener listener)
            +
          • +
            +

            unsubscribeMapItems

            +
            void unsubscribeMapItems(IMapItemsListener listener)

            Unsubscribes the map items subscribers

            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener used in the subscribe method
            +
          • -
          - - - -
            -
          • -

            subscribeEventTimesChanges

            -
            void subscribeEventTimesChanges(IStartStopTimesChangeListener listener)
            +
          • +
            +

            subscribeEventTimesChanges

            +
            void subscribeEventTimesChanges(IStartStopTimesChangeListener listener)
            Subscribes to changes in event start and stop times.

            The method returns immediately and the changes are subsequently sent to the given listener, as they are received.

            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener to receive the changes.
            +
          • -
          - - - -
            -
          • -

            unsubscribeEventTimesChanges

            -
            void unsubscribeEventTimesChanges(IStartStopTimesChangeListener listener)
            +
          • +
            +

            unsubscribeEventTimesChanges

            +
            void unsubscribeEventTimesChanges(IStartStopTimesChangeListener listener)
            Unsubscribes to changes in event start and stop times.
            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener used in the subscribe method
            +
          • -
          - - - -
            -
          • -

            subscribeEventMessages

            -
            void subscribeEventMessages(IEventMessageListener listener)
            +
          • +
            +

            subscribeEventMessages

            +
            void subscribeEventMessages(IEventMessageListener listener)
            Subscribe to messages for an event.
            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - Listener the listener to receive the messages
            +
          • -
          - - - -
            -
          • -

            unsubscribeEventMessages

            -
            void unsubscribeEventMessages(IEventMessageListener listener)
            +
          • +
            +

            unsubscribeEventMessages

            +
            void unsubscribeEventMessages(IEventMessageListener listener)
            Unsubscribes to event messages.
            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener used in the subscribe method
            +
          • -
          - - - -
            -
          • -

            subscribeServerTime

            -
            void subscribeServerTime(IServerTimeListener serverTimeListener)
            +
          • +
            +

            subscribeServerTime

            +
            void subscribeServerTime(IServerTimeListener serverTimeListener)
            Subscribe to messages for the server time.
            -
            -
            Parameters:
            +
            +
            Parameters:
            serverTimeListener - listener the listener to receive the server time
            +
          • -
          - - - -
            -
          • -

            unsubscribeServerTime

            -
            void unsubscribeServerTime(IServerTimeListener serverTimeListener)
            +
          • +
            +

            unsubscribeServerTime

            +
            void unsubscribeServerTime(IServerTimeListener serverTimeListener)
            Unsubscribes to messages for the server time.
            -
            -
            Parameters:
            +
            +
            Parameters:
            serverTimeListener - the listener used in the subscribe method.
            +
          • -
          - - - -
            -
          • -

            subscribeRaces

            -
            void subscribeRaces(IRacesListener listener)
            +
          • +
            +

            subscribeRaces

            +
            void subscribeRaces(IRacesListener listener)

            Subscriber to race changes. A race change happens when a race is updated, created or deleted

            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener used in the subscribe method
            +
          • -
          - - - -
            -
          • -

            unsubscribeRaces

            -
            void unsubscribeRaces(IRacesListener listener)
            +
          • +
            +

            unsubscribeRaces

            +
            void unsubscribeRaces(IRacesListener listener)

            Unsubscribes the races subscribers

            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener used in the subscribe method
            +
          • -
          - - - -
            -
          • -

            subscribeCompetitors

            -
            void subscribeCompetitors(ICompetitorsListener listener)
            +
          • +
            +

            subscribeCompetitors

            +
            void subscribeCompetitors(ICompetitorsListener listener)

            Subscriber to competitor changes. A competitor change happens when a competitor is updated, created or deleted

            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener used in the subscribe method
            +
          • -
          - - - -
            -
          • -

            unsubscribeCompetitors

            -
            void unsubscribeCompetitors(ICompetitorsListener listener)
            +
          • +
            +

            unsubscribeCompetitors

            +
            void unsubscribeCompetitors(ICompetitorsListener listener)

            Unsubscribes the competitors subscribers

            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener used in the subscribe method
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/IRaceSubscriber.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/IRaceSubscriber.html index 4ab574cfb1e..2acd9fa92ae 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/IRaceSubscriber.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/IRaceSubscriber.html @@ -1,391 +1,333 @@ - - + - + +IRaceSubscriber (Subscription - Applications - TracAPI 5.0.0 API) + -IRaceSubscriber (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api
    -

    Interface IRaceSubscriber

    + +

    Interface IRaceSubscriber

    -
    -
    - -
    -
    -
    -
    -
    +
    +
    +
    +

    Methods inherited from interface com.tractrac.subscription.lib.api.ISubscriber

    +isRunning, start, stop, subscribeConnectionStatus, unsubscribeConnectionStatus
    + + + + +
    +
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriber.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriber.html index ea1cdc41674..69ad839e9f7 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriber.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriber.html @@ -1,319 +1,224 @@ - - + - + +ISubscriber (Subscription - Applications - TracAPI 5.0.0 API) + -ISubscriber (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api
    -

    Interface ISubscriber

    + +

    Interface ISubscriber

    -
    -
    - -
    -
    -
    -
    -
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          subscribeConnectionStatus

          -
          void subscribeConnectionStatus(IConnectionStatusListener listener)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            subscribeConnectionStatus

            +
            void subscribeConnectionStatus(IConnectionStatusListener listener)
            Subscribes for connection status

            The method returns immediately and the positions are subsequently sent to the given listener, as they are received.

            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener to receive the positions.
            +
          • -
          - - - -
            -
          • -

            unsubscribeConnectionStatus

            -
            void unsubscribeConnectionStatus(IConnectionStatusListener listener)
            +
          • +
            +

            unsubscribeConnectionStatus

            +
            void unsubscribeConnectionStatus(IConnectionStatusListener listener)
            Unsubscribes for connection status
            -
            -
            Parameters:
            +
            +
            Parameters:
            listener - the listener used in the subscribe method
            +
          • -
          - - - -
            -
          • -

            start

            -
            void start()
            +
          • +
            +

            start

            +
            void start()
            Start a new thread that received data from the subscriptions
            +
          • -
          - - - -
            -
          • -

            stop

            -
            void stop()
            +
          • +
            +

            stop

            +
            void stop()
            Stops the thread that receives data from the subscriptions
            +
          • -
          - - - -
            -
          • -

            isRunning

            -
            boolean isRunning()
            +
          • +
            +

            isRunning

            +
            boolean isRunning()
            If the thread created using the start method is running or not
            -
            -
            Returns:
            +
            +
            Returns:
            if the thread is running
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriberFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriberFactory.html index 1a54b641814..2d73427bc41 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriberFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriberFactory.html @@ -1,234 +1,207 @@ - - + - + +ISubscriberFactory (Subscription - Applications - TracAPI 5.0.0 API) + -ISubscriberFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api
    -

    Interface ISubscriberFactory

    + +

    Interface ISubscriberFactory

    -
    -
    -
      -
    • -
      +
      +
      All Superinterfaces:
      -
      com.tractrac.common.lib.api.service.IServiceProvider
      +
      com.tractrac.common.lib.api.service.IServiceProvider

      -
      -
      public interface ISubscriberFactory
      -extends com.tractrac.common.lib.api.service.IServiceProvider
      +
      public interface ISubscriberFactory +extends com.tractrac.common.lib.api.service.IServiceProvider

      - Factory used to create ISubscribers. A subscriber is an object that + Factory used to create ISubscribers. A subscriber is an object that is able to receive subscriptions from a datasource. This class is a Singleton - and its instance can be retrieved using the SubscriptionLocator + and its instance can be retrieved using the SubscriptionLocator class.

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          createEventSubscriber

          -
          IEventSubscriber createEventSubscriber(IEvent event)
          -                                throws SubscriberInitializationException
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            createEventSubscriber

            +
            IEventSubscriber createEventSubscriber(String apiToken, + IEvent event) + throws SubscriberInitializationException

            Returns a subscriber for the event.

            @@ -237,26 +210,25 @@ extends com.tractrac.common.lib.api.service.IServiceProvider liveUri parameter to connect to the dataserver. In a future it can use the storeUri parameter to connect with stored events.

            -
            -
            Parameters:
            +
            +
            Parameters:
            +
            apiToken - a valid API token to retrieve data from this event
            event - an event
            -
            Returns:
            +
            Returns:
            a subscriber for the event
            -
            Throws:
            -
            SubscriberInitializationException - if there is any error creating the subscriber
            +
            Throws:
            +
            SubscriberInitializationException - if there is any error creating the subscriber
            +
          • -
          - - - -
            -
          • -

            createEventSubscriber

            -
            IEventSubscriber createEventSubscriber(IEvent event,
            -                                       URI liveUri,
            -                                       URI storedUri)
            -                                throws SubscriberInitializationException
            +
          • +
            +

            createEventSubscriber

            +
            IEventSubscriber createEventSubscriber(String apiToken, + IEvent event, + URI liveUri, + URI storedUri) + throws SubscriberInitializationException

            Returns a subscriber for the event

            @@ -264,55 +236,53 @@ extends com.tractrac.common.lib.api.service.IServiceProvider It retrieves data using the liveUri and the storedUri parameters discarding the internal URIs of the event.

            -
            -
            Parameters:
            +
            +
            Parameters:
            +
            apiToken - a valid API token to retrieve data from this event
            event - the event
            liveUri - the uri where the live provider is located
            storedUri - the uri where the stored provider is located
            -
            Returns:
            +
            Returns:
            a subscriber for the provided event
            -
            Throws:
            -
            SubscriberInitializationException - if there is any error creating the subscriber
            +
            Throws:
            +
            SubscriberInitializationException - if there is any error creating the subscriber
            +
          • -
          - - - - - - - -
            -
          • -

            createRaceSubscriber

            -
            IRaceSubscriber createRaceSubscriber(URI parametersURI)
            -                              throws SubscriberInitializationException
            +
          • +
            +

            createRaceSubscriber

            +
            IRaceSubscriber createRaceSubscriber(String apiToken, + URI parametersURI) + throws SubscriberInitializationException

            Returns a subscriber for the race contained in the provided parameters file @@ -321,26 +291,25 @@ extends com.tractrac.common.lib.api.service.IServiceProvider It connects with the liveURI (if exists) and with the storedURI contained in this parameters file.

            -
            -
            Parameters:
            +
            +
            Parameters:
            +
            apiToken - a valid API token to retrieve data from this event
            parametersURI - the URI where the parameters file is located
            -
            Returns:
            +
            Returns:
            a subscriber for the race
            -
            Throws:
            -
            SubscriberInitializationException - if there is any error creating the subscriber
            +
            Throws:
            +
            SubscriberInitializationException - if there is any error creating the subscriber
            +
          • -
          - - - -
            -
          • -

            createRaceSubscriber

            -
            IRaceSubscriber createRaceSubscriber(IRace race,
            -                                     URI liveUri,
            -                                     URI storedUri)
            -                              throws SubscriberInitializationException
            +
          • +
            +

            createRaceSubscriber

            +
            IRaceSubscriber createRaceSubscriber(String apiToken, + IRace race, + URI liveUri, + URI storedUri) + throws SubscriberInitializationException

            Returns a subscriber for a race.

            @@ -348,28 +317,27 @@ extends com.tractrac.common.lib.api.service.IServiceProvider It retrieves data using the liveUri and the storedUri parameters discarding the internal URIs of the race.

            -
            -
            Parameters:
            +
            +
            Parameters:
            +
            apiToken - a valid API token to retrieve data from this event
            race - the race
            liveUri - the uri where the live provider is located
            storedUri - the uri where the stored provider is located
            -
            Returns:
            +
            Returns:
            a subscriber for the race
            -
            Throws:
            -
            SubscriberInitializationException - if there is any error creating the subscriber
            +
            Throws:
            +
            SubscriberInitializationException - if there is any error creating the subscriber
            +
          • -
          - - - -
            -
          • -

            createRaceSubscriber

            -
            IRaceSubscriber createRaceSubscriber(URI parametersURI,
            -                                     URI liveUri,
            -                                     URI storedUri)
            -                              throws SubscriberInitializationException
            +
          • +
            +

            createRaceSubscriber

            +
            IRaceSubscriber createRaceSubscriber(String apiToken, + URI parametersURI, + URI liveUri, + URI storedUri) + throws SubscriberInitializationException

            Returns a subscriber for the race contained in the provided parameters file. @@ -378,137 +346,63 @@ extends com.tractrac.common.lib.api.service.IServiceProvider It retrieves data using the liveUri and the storedUri parameters discarding the URIs of the parameters file.

            -
            -
            Parameters:
            +
            +
            Parameters:
            +
            apiToken - a valid API token to retrieve data from this event
            parametersURI - the URI where the parameters file is located
            liveUri - the uri where the live provider is located
            storedUri - the uri where the stored provider is located
            -
            Returns:
            +
            Returns:
            a subscriber for the race
            -
            Throws:
            -
            SubscriberInitializationException - if there is any error creating the subscriber
            +
            Throws:
            +
            SubscriberInitializationException - if there is any error creating the subscriber
            +
          • -
          - - - - - - - -
            -
          • -

            setUserId

            -
            void setUserId(String userId)
            -
            Add a valid user with permissions to retrieve data
            -
            -
            Parameters:
            -
            userId - a valid user
            -
            -
          • -
          - - - -
            -
          • -

            clean

            -
            void clean()
            +
          • +
            +

            clean

            +
            void clean()
            Cleans all the objects in memory
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriberListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriberListener.html index e59dde6a3fc..6ec113f2723 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriberListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/ISubscriberListener.html @@ -1,181 +1,115 @@ - - + - + +ISubscriberListener (Subscription - Applications - TracAPI 5.0.0 API) + -ISubscriberListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api
    -

    Interface ISubscriberListener

    + +

    Interface ISubscriberListener

    - + - -
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/SubscriberInitializationException.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/SubscriberInitializationException.html index b56f74ec575..41f9a6c1ab5 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/SubscriberInitializationException.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/SubscriberInitializationException.html @@ -1,317 +1,212 @@ - - + - + +SubscriberInitializationException (Subscription - Applications - TracAPI 5.0.0 API) + -SubscriberInitializationException (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api
    -

    Class SubscriberInitializationException

    + +

    Class SubscriberInitializationException

    -
    - -
    -
    -
    - + +
    +
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          SubscriberInitializationException

          -
          public SubscriberInitializationException(String message)
          +
        • +
          +

          Constructor Details

          +
            +
          • +
            +

            SubscriberInitializationException

            +
            public SubscriberInitializationException(String message)
            +
            +
          • +
          • +
            +

            SubscriberInitializationException

            +
            public SubscriberInitializationException(Exception ex)
            +
          - - - -
            -
          • -

            SubscriberInitializationException

            -
            public SubscriberInitializationException(Exception ex)
            +
        • -
        -
      • -
      - -
    -
    + - -
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/SubscriptionLocator.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/SubscriptionLocator.html index a5a4f23e1ff..296467a5161 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/SubscriptionLocator.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/SubscriptionLocator.html @@ -1,327 +1,229 @@ - - + - + +SubscriptionLocator (Subscription - Applications - TracAPI 5.0.0 API) + -SubscriptionLocator (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    + +
    + +

    Class SubscriptionLocator

    +
    +
    java.lang.Object +
    com.tractrac.subscription.lib.api.SubscriptionLocator
    +
    +

    -
    -
    public class SubscriptionLocator
    -extends Object
    +
    public class SubscriptionLocator +extends Object

    This class is a locator used to get the instance of some of the factories that are used for the creation of the objects. Is the entry point of the system, and the unique class with statics methods.

    - The principal object is the IEventSubscriber, that can be created using - the ISubscriberFactory singleton. + The principal object is the IEventSubscriber, that can be created using + the ISubscriberFactory singleton.

    - The implementation of this class has to be registered using the Service Loader pattern. If you want to add a new implementation, you + The implementation of this class has to be registered using the Service Loader pattern. If you want to add a new implementation, you have to create a new component, create a file META-INF/services/com.tractrac.model.lib.susbscription.api.ISubscriberFactory - and add a line with the name of the IEventFactory class. + and add a line with the name of the IEventFactory class.

    -
    -
    Author:
    +
    +
    Author:
    Jorge Piera Llodrá
    -
    See Also:
    -
    Locator
    -
    - +
    See Also:
    +
    + -
    -
    - + +
    +
      -
        -
      • - - -

        Constructor Detail

        - - - -
          -
        • -

          SubscriptionLocator

          -
          public SubscriptionLocator()
          +
        • +
          +

          Constructor Details

          +
            +
          • +
            +

            SubscriptionLocator

            +
            public SubscriptionLocator()
            +
          +
        • -
        -
          -
        • - - -

          Method Detail

          - - - -
            -
          • -

            getSusbcriberFactory

            -
            public static ISubscriberFactory getSusbcriberFactory()
            -
            Used to get the instance of the ISubscriberFactory class. If there +
          • +
            +

            Method Details

            +
              +
            • +
              +

              getSusbcriberFactory

              +
              public static ISubscriberFactory getSusbcriberFactory()
              +
              Used to get the instance of the ISubscriberFactory class. If there are more registered instances it returns the first one.
              -
              -
              Returns:
              -
              the instance of the ISubscriberFactory object
              -
              Throws:
              -
              Error - runtime exception if there are not registered instances.
              +
              +
              Returns:
              +
              the instance of the ISubscriberFactory object
              +
              Throws:
              +
              Error - runtime exception if there are not registered instances.
              +
            • -
            - - - -
              -
            • -

              registerSubscriberFactory

              -
              public static void registerSubscriberFactory(ISubscriberFactory subscriberFactory)
              -
              Register a default ISubscriberFactory.
              -
              -
              Parameters:
              +
            • +
              +

              registerSubscriberFactory

              +
              public static void registerSubscriberFactory(ISubscriberFactory subscriberFactory)
              +
              Register a default ISubscriberFactory.
              +
              +
              Parameters:
              subscriberFactory - the factory to register.
              +
            +
          -
        • -
        -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/IEventSubscriber.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/IEventSubscriber.html index 865013d5f1d..147f688620e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/IEventSubscriber.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/IEventSubscriber.html @@ -1,181 +1,104 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.IEventSubscriber (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.IEventSubscriber (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.IEventSubscriber

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.IEventSubscriber

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/IRaceSubscriber.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/IRaceSubscriber.html index c5c60a769b6..492390ad22f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/IRaceSubscriber.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/IRaceSubscriber.html @@ -1,207 +1,130 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.IRaceSubscriber (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.IRaceSubscriber (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.IRaceSubscriber

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.IRaceSubscriber

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriber.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriber.html index ea197fa263a..9cee2ca463b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriber.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriber.html @@ -1,179 +1,100 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.ISubscriber (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.ISubscriber (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.ISubscriber

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.ISubscriber

    -
    -
    +
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriberFactory.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriberFactory.html index 993b8fb0a5a..3186e2ed00c 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriberFactory.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriberFactory.html @@ -1,186 +1,104 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.ISubscriberFactory (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.ISubscriberFactory (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.ISubscriberFactory

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.ISubscriberFactory

    -
    -
    +
    +
    + +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriberListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriberListener.html index 3c3ce6dbea3..2b48d347ce2 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriberListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/ISubscriberListener.html @@ -1,373 +1,256 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.ISubscriberListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.ISubscriberListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.ISubscriberListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.ISubscriberListener

    -
    -
    +
    + -
  • - - -

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.control

    - - - - - - - - - - - - - - - - -
    Subinterfaces of ISubscriberListener in com.tractrac.subscription.lib.api.control 
    Modifier and TypeInterface and Description
    interface IControlPassingsListener +
  • +
    +

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.control

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    The listener interface for receiving events whenever a new control passings result arrives for a competitor.
    -
  • interface IControlRouteChangeListener + +
    interface 
    + +
    The listener interface for receiving events whenever a control route is changed.
    -
    +
  • +
    + -
  • - - -

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.event

    - - - - - - - - - - - - - - - - - - - - -
    Subinterfaces of ISubscriberListener in com.tractrac.subscription.lib.api.event 
    Modifier and TypeInterface and Description
    interface IConnectionStatusListener +
  • +
    +

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.event

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    The listener interface for receiving events for the stored and live data handler.
    -
  • interface IEventMessageListener + +
    interface 
    + +
    The listener interface for receiving events whenever a new message arrives.
    -
    interface IServerTimeListener + +
    interface 
    + +
    Listener used to listen the serever time
    -
    + + +
  • -
  • - - -

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.map

    - - - - - - - - - - - - - - - - -
    Subinterfaces of ISubscriberListener in com.tractrac.subscription.lib.api.map 
    Modifier and TypeInterface and Description
    interface IMapItemsListener +
  • +
    +

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.map

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    This listener is used to receive events related with the control list.
    -
  • interface IPositionedItemPositionListener + +
    interface 
    + +
    The listener interface for receiving events whenever a new position arrives on a positioned item.
    -
    + + +
  • -
  • - - -

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.race

    - - - - - - - - - - - - - - - - - - - - -
    Subinterfaces of ISubscriberListener in com.tractrac.subscription.lib.api.race 
    Modifier and TypeInterface and Description
    interface IRacesListener +
  • +
    +

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.race

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    This listener is used to receive events related with the race list.
    -
  • interface IRaceStartStopTimesChangeListener + +
    interface 
    + +
    The listener interface for receiving events whenever change in the start and/or stop times of a race occurs.
    -
    interface IStartStopTimesChangeListener + +
    interface 
    + +
    The listener interface for receiving events whenever change in the start and/or stop times occurs.
    -
    + + +
  • -
  • - - -

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.route

    - - - - - - - - - - - - -
    Subinterfaces of ISubscriberListener in com.tractrac.subscription.lib.api.route 
    Modifier and TypeInterface and Description
    interface IRoutesListener +
  • +
    +

    Uses of ISubscriberListener in com.tractrac.subscription.lib.api.route

    + +
    +
    Modifier and Type
    +
    Interface
    +
    Description
    +
    interface 
    + +
    This listener is used to receive events related with the routes.
    -
  • -
  • - + + + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/SubscriberInitializationException.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/SubscriberInitializationException.html index 4c1c30e618f..a86e52e1e26 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/SubscriberInitializationException.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/SubscriberInitializationException.html @@ -1,223 +1,146 @@ - - + - + +Uses of Class com.tractrac.subscription.lib.api.SubscriberInitializationException (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.subscription.lib.api.SubscriberInitializationException (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.subscription.lib.api.SubscriberInitializationException

    +

    Uses of Class
    com.tractrac.subscription.lib.api.SubscriberInitializationException

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/SubscriptionLocator.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/SubscriptionLocator.html index 5a323ed42b0..8ae75cef1ec 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/SubscriptionLocator.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/class-use/SubscriptionLocator.html @@ -1,126 +1,63 @@ - - + - + +Uses of Class com.tractrac.subscription.lib.api.SubscriptionLocator (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.subscription.lib.api.SubscriptionLocator (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.subscription.lib.api.SubscriptionLocator

    +

    Uses of Class
    com.tractrac.subscription.lib.api.SubscriptionLocator

    -
    No usage of com.tractrac.subscription.lib.api.SubscriptionLocator
    - -
    - - - - - - - +No usage of com.tractrac.subscription.lib.api.SubscriptionLocator
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/ICompetitorSensorDataListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/ICompetitorSensorDataListener.html index 28dd6ae2b3d..bd50deba779 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/ICompetitorSensorDataListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/ICompetitorSensorDataListener.html @@ -1,239 +1,160 @@ - - + - + +ICompetitorSensorDataListener (Subscription - Applications - TracAPI 5.0.0 API) + -ICompetitorSensorDataListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.competitor
    -

    Interface ICompetitorSensorDataListener

    + +

    Interface ICompetitorSensorDataListener

    -
    -
    -
      -
    • +

      -
      -
      public interface ICompetitorSensorDataListener
      +
      public interface ICompetitorSensorDataListener
      The listener interface for receiving events whenever a sensor data arrives for a competitor.
      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotSensorData

          -
          void gotSensorData(IRaceCompetitor raceCompetitor,
          -                   ISensorData sensorData)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotSensorData

            +
            void gotSensorData(IRaceCompetitor raceCompetitor, + ISensorData sensorData)
            Invoked when a sensor data arrives
            -
            -
            Parameters:
            +
            +
            Parameters:
            raceCompetitor - an object that encapsulates a route and a competitor
            sensorData - the sensor data of the competitor
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/ICompetitorsListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/ICompetitorsListener.html index b48491c48ad..82d1048b701 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/ICompetitorsListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/ICompetitorsListener.html @@ -1,294 +1,207 @@ - - + - + +ICompetitorsListener (Subscription - Applications - TracAPI 5.0.0 API) + -ICompetitorsListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.competitor
    -

    Interface ICompetitorsListener

    + +

    Interface ICompetitorsListener

    -
    -
    - -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          voidaddCompetitor(long timestamp, - ICompetitor competitor) +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          void
          +
          addCompetitor(long timestamp, + ICompetitor competitor)
          +
          A new competitor has been added to the event.
          -
        • voiddeleteCompetitor(long timestamp, - UUID competitorId) -
          A competitor has been removed from the event
          -
          voidupdateCompetitor(long timestamp, - ICompetitor competitor) -
          This event is thrown when a competitor is updated.
          -
          -
        • -
        - -
    -
    -
      -
    • +
      void
      +
      deleteCompetitor(long timestamp, + UUID competitorId)
      +
      +
      A competitor has been removed from the event
      +
      +
      void
      +
      updateCompetitor(long timestamp, + ICompetitor competitor)
      +
      +
      This event is thrown when a competitor is updated.
      +
      +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          updateCompetitor

          -
          void updateCompetitor(long timestamp,
          -                      ICompetitor competitor)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            updateCompetitor

            +
            void updateCompetitor(long timestamp, + ICompetitor competitor)
            This event is thrown when a competitor is updated. I means that any of its static attributes have changed.
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            competitor - the competitor that has been updated.
            +
          • -
          - - - -
            -
          • -

            addCompetitor

            -
            void addCompetitor(long timestamp,
            -                   ICompetitor competitor)
            +
          • +
            +

            addCompetitor

            +
            void addCompetitor(long timestamp, + ICompetitor competitor)
            A new competitor has been added to the event.
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            competitor - the added competitor
            +
          • -
          - - - -
            -
          • -

            deleteCompetitor

            -
            void deleteCompetitor(long timestamp,
            -                      UUID competitorId)
            +
          • +
            +

            deleteCompetitor

            +
            void deleteCompetitor(long timestamp, + UUID competitorId)
            A competitor has been removed from the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            competitorId - the deleted competitor identifier
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionListener.html index 9d05c1b2ca7..b753dc749f6 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionListener.html @@ -1,248 +1,173 @@ - - + - + +IPositionListener (Subscription - Applications - TracAPI 5.0.0 API) + -IPositionListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.competitor
    -

    Interface IPositionListener

    + +

    Interface IPositionListener

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotPosition

          -
          void gotPosition(IRaceCompetitor raceCompetitor,
          -                 IPosition position)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotPosition

            +
            void gotPosition(IRaceCompetitor raceCompetitor, + IPosition position)
            Invoked when a new position arrives
            -
            -
            Parameters:
            +
            +
            Parameters:
            raceCompetitor - an object that encapsulates a route and a competitor
            position - the position of the competitor
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionOffsetListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionOffsetListener.html index 4f099df751f..878af554627 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionOffsetListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionOffsetListener.html @@ -1,248 +1,173 @@ - - + - + +IPositionOffsetListener (Subscription - Applications - TracAPI 5.0.0 API) + -IPositionOffsetListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.competitor
    -

    Interface IPositionOffsetListener

    + +

    Interface IPositionOffsetListener

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotPositionOffset

          -
          void gotPositionOffset(IRaceCompetitor raceCompetitor,
          -                       IPositionOffset position)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotPositionOffset

            +
            void gotPositionOffset(IRaceCompetitor raceCompetitor, + IPositionOffset position)
            Invoked when a new position arrives
            -
            -
            Parameters:
            +
            +
            Parameters:
            raceCompetitor - an object that encapsulates a route and a competitor
            position - the position of the competitor
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionSnappedListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionSnappedListener.html index 03bfd611dcd..81c09307819 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionSnappedListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/IPositionSnappedListener.html @@ -1,248 +1,173 @@ - - + - + +IPositionSnappedListener (Subscription - Applications - TracAPI 5.0.0 API) + -IPositionSnappedListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.competitor
    -

    Interface IPositionSnappedListener

    + +

    Interface IPositionSnappedListener

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotPositionSnapped

          -
          void gotPositionSnapped(IRaceCompetitor raceCompetitor,
          -                        IPositionSnapped positionSnapped)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotPositionSnapped

            +
            void gotPositionSnapped(IRaceCompetitor raceCompetitor, + IPositionSnapped positionSnapped)
            Invoked when a new snapped position arrives
            -
            -
            Parameters:
            +
            +
            Parameters:
            raceCompetitor - an object that encapsulates a route and a competitor
            positionSnapped - the position of the competitor
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/ICompetitorSensorDataListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/ICompetitorSensorDataListener.html index 943f03c4dea..f8bf212626b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/ICompetitorSensorDataListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/ICompetitorSensorDataListener.html @@ -1,185 +1,105 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.competitor.ICompetitorSensorDataListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.competitor.ICompetitorSensorDataListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.ICompetitorSensorDataListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.ICompetitorSensorDataListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/ICompetitorsListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/ICompetitorsListener.html index f688c22b866..556b83cbed5 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/ICompetitorsListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/ICompetitorsListener.html @@ -1,179 +1,100 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.competitor.ICompetitorsListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.competitor.ICompetitorsListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.ICompetitorsListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.ICompetitorsListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionListener.html index aa27c812ab7..8b566999673 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionListener.html @@ -1,201 +1,119 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.competitor.IPositionListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.competitor.IPositionListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.IPositionListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.IPositionListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionOffsetListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionOffsetListener.html index fb50d7ca63b..9a9ed8628a8 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionOffsetListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionOffsetListener.html @@ -1,186 +1,106 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.competitor.IPositionOffsetListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.competitor.IPositionOffsetListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.IPositionOffsetListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.IPositionOffsetListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionSnappedListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionSnappedListener.html index d6bc3299889..1ac8f49cafe 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionSnappedListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/class-use/IPositionSnappedListener.html @@ -1,203 +1,121 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-frame.html deleted file mode 100644 index 4006b16a7b4..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-frame.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - -com.tractrac.subscription.lib.api.competitor (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.subscription.lib.api.competitor

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-summary.html index 3662610f4d5..7d6649b2133 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-summary.html @@ -1,187 +1,161 @@ - - + - + +com.tractrac.subscription.lib.api.competitor (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.competitor (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.subscription.lib.api.competitor

    +
    +
    +
    package com.tractrac.subscription.lib.api.competitor
    +

    Subscriptions related with competitors and positions

    +
    +
    + +
    +
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-tree.html index 7a19c10aaa9..97433784086 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-tree.html @@ -1,143 +1,81 @@ - - + - + +com.tractrac.subscription.lib.api.competitor Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.competitor Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.subscription.lib.api.competitor

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-use.html index a2213eeadae..ca2fb55da2d 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/competitor/package-use.html @@ -1,189 +1,111 @@ - - + - + +Uses of Package com.tractrac.subscription.lib.api.competitor (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.subscription.lib.api.competitor (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.subscription.lib.api.competitor

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlPassingsListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlPassingsListener.html index 973a999d821..3a2ae3ace7e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlPassingsListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlPassingsListener.html @@ -1,251 +1,176 @@ - - + - + +IControlPassingsListener (Subscription - Applications - TracAPI 5.0.0 API) + -IControlPassingsListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.control
    -

    Interface IControlPassingsListener

    + +

    Interface IControlPassingsListener

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotControlPassings

          -
          void gotControlPassings(long timestamp,
          -                        IRaceCompetitor raceCompetitor,
          -                        IControlPassings controlPassings)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotControlPassings

            +
            void gotControlPassings(long timestamp, + IRaceCompetitor raceCompetitor, + IControlPassings controlPassings)
            Invoked when a new control passing result arrives
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            raceCompetitor - an object that encapsulates a route and a competitor
            controlPassings - the control passings associated with the competitor.
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlPointSensorDataListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlPointSensorDataListener.html index 006b76c85e2..fff522229bc 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlPointSensorDataListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlPointSensorDataListener.html @@ -1,244 +1,165 @@ - - + - + +IControlPointSensorDataListener (Subscription - Applications - TracAPI 5.0.0 API) + -IControlPointSensorDataListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.control
    -

    Interface IControlPointSensorDataListener

    + +

    Interface IControlPointSensorDataListener

    -
    -
    -
      -
    • +

      -
      -
      public interface IControlPointSensorDataListener
      +
      public interface IControlPointSensorDataListener
      The listener interface for receiving events whenever a sensor data arrives for a control.
      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
      -
    • + +
      +
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotSensorData

          -
          void gotSensorData(IMapItem control,
          -                   ISensorData sensorData,
          -                   int controlPointNumber)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotSensorData

            +
            void gotSensorData(IMapItem control, + ISensorData sensorData, + int controlPointNumber)
            Invoked when a sensor data for a control point arrives.
            -
            -
            Parameters:
            +
            +
            Parameters:
            control - the control
            sensorData - the sensor data of the control point
            controlPointNumber - Gets the number of the control point. The control is composed of several control points and the new sensor data has to be attached only to one these control points.
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlRouteChangeListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlRouteChangeListener.html index 6568c203a8d..9298b3aa70e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlRouteChangeListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/IControlRouteChangeListener.html @@ -1,270 +1,191 @@ - - + - + +IControlRouteChangeListener (Subscription - Applications - TracAPI 5.0.0 API) + -IControlRouteChangeListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.control
    -

    Interface IControlRouteChangeListener

    + +

    Interface IControlRouteChangeListener

    -
    -
    - -
    -
    -
    -
    -
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotRouteChange

          -
          void gotRouteChange(IControlRoute controlRoute,
          -                    long timeStamp)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotRouteChange

            +
            void gotRouteChange(IControlRoute controlRoute, + long timeStamp)
            Invoked when updates to a control route arrives
            -
            -
            Parameters:
            +
            +
            Parameters:
            controlRoute - the new configuration of the route.
            timeStamp - a time stamp when the new route is valid.
            +
          • -
          - - - -
            -
          • -

            gotRouteChange

            -
            void gotRouteChange(IPathRoute pathRoute,
            -                    long timeStamp)
            +
          • +
            +

            gotRouteChange

            +
            void gotRouteChange(IPathRoute pathRoute, + long timeStamp)
            Invoked when updates to a path route arrives
            -
            -
            Parameters:
            +
            +
            Parameters:
            pathRoute - the new configuration of the route.
            timeStamp - a time stamp when the new route is valid.
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlPassingsListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlPassingsListener.html index 3b579f6c829..4ac3794678b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlPassingsListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlPassingsListener.html @@ -1,184 +1,104 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.control.IControlPassingsListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.control.IControlPassingsListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.control.IControlPassingsListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.control.IControlPassingsListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlPointSensorDataListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlPointSensorDataListener.html index d3a7b0f73b5..a4d012a76ed 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlPointSensorDataListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlPointSensorDataListener.html @@ -1,186 +1,106 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.control.IControlPointSensorDataListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.control.IControlPointSensorDataListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.control.IControlPointSensorDataListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.control.IControlPointSensorDataListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlRouteChangeListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlRouteChangeListener.html index 3347d03684c..4d5756ca94f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlRouteChangeListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/class-use/IControlRouteChangeListener.html @@ -1,177 +1,98 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.control.IControlRouteChangeListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.control.IControlRouteChangeListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.control.IControlRouteChangeListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.control.IControlRouteChangeListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-frame.html deleted file mode 100644 index fbd07ee61c8..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-frame.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - -com.tractrac.subscription.lib.api.control (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.subscription.lib.api.control

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-summary.html index 312151a27b4..1a17aa347e5 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-summary.html @@ -1,172 +1,150 @@ - - + - + +com.tractrac.subscription.lib.api.control (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.control (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.subscription.lib.api.control

    +
    +
    +
    package com.tractrac.subscription.lib.api.control
    +

    Subscriptions related with the controls and control passings

    +
    +
    + +
    +
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-tree.html index dcdcdc1b7ce..affc3a1e10b 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-tree.html @@ -1,141 +1,79 @@ - - + - + +com.tractrac.subscription.lib.api.control Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.control Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.subscription.lib.api.control

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-use.html index 0f1aee626bf..edf9edea0aa 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/control/package-use.html @@ -1,176 +1,100 @@ - - + - + +Uses of Package com.tractrac.subscription.lib.api.control (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.subscription.lib.api.control (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.subscription.lib.api.control

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IConnectionStatusListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IConnectionStatusListener.html index c79e2729e3a..454e99dee3e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IConnectionStatusListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IConnectionStatusListener.html @@ -1,113 +1,100 @@ - - + - + +IConnectionStatusListener (Subscription - Applications - TracAPI 5.0.0 API) + -IConnectionStatusListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.event
    -

    Interface IConnectionStatusListener

    + +

    Interface IConnectionStatusListener

    -
    -
    - -
    -
    -
    -
    -
    +
    +
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        gotStoredDataEvent

        +
        void gotStoredDataEvent(IStoredDataEvent storedDataEvent)
        +
        Invoked when an update in the stored data status occurs.
        +
        +
        Parameters:
        storedDataEvent - it contains the status of the stored connection
        +
      • -
      - - - -
        -
      • -

        gotLiveDataEvent

        -
        void gotLiveDataEvent(ILiveDataEvent liveDataEvent)
        +
      • +
        +

        gotLiveDataEvent

        +
        void gotLiveDataEvent(ILiveDataEvent liveDataEvent)
        Invoked when an update in the live data status occurs.
        -
        -
        Parameters:
        +
        +
        Parameters:
        liveDataEvent - it contains the status of the live connection
        +
      • -
      - - - -
    +
    +
    Parameters:
    subscribedObject - object associated to this listener
    + + - - -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IEventMessageListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IEventMessageListener.html index 057cc3ba249..183279b586f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IEventMessageListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IEventMessageListener.html @@ -1,250 +1,175 @@ - - + - + +IEventMessageListener (Subscription - Applications - TracAPI 5.0.0 API) + -IEventMessageListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.event
    -

    Interface IEventMessageListener

    + +

    Interface IEventMessageListener

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotEventMessage

          -
          void gotEventMessage(IEvent event,
          -                     IMessageData messageData)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotEventMessage

            +
            void gotEventMessage(IEvent event, + IMessageData messageData)
            Invoked when a new event message arrives
            -
            -
            Parameters:
            +
            +
            Parameters:
            event - the event
            messageData - the message
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/ILiveDataEvent.StatusType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/ILiveDataEvent.StatusType.html index 474f045a253..025995e26e1 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/ILiveDataEvent.StatusType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/ILiveDataEvent.StatusType.html @@ -1,369 +1,259 @@ - - + - + +ILiveDataEvent.StatusType (Subscription - Applications - TracAPI 5.0.0 API) + -ILiveDataEvent.StatusType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.event
    -

    Enum ILiveDataEvent.StatusType

    + +

    Enum Class ILiveDataEvent.StatusType

    -
    - -
    -
    -
    -
      -
    • -
        -
      • - - -

        Enum Constant Summary

        - - - - - - - - - - - - - - -
        Enum Constants 
        Enum Constant and Description
        Connected +
      • +
        +

        Enum Constant Summary

        +
        Enum Constants
        +
        +
        Enum Constant
        +
        Description
        + +
        The live connection is established
        -
      • Disconnected + + +
        The live connection has been disconnected
        -
        Error + + +
        There is an error in the live connection
        -
        +
    +
    + - - - -
    -
    -
      -
    • +
    +
    + + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    + + + + +
    +
      -
        -
      • - - -

        Enum Constant Detail

        - - - - -
          -
        • - - -

          Method Detail

          - - - -
            -
          • -

            values

            -
            public static ILiveDataEvent.StatusType[] values()
            -
            Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
            -for (ILiveDataEvent.StatusType c : ILiveDataEvent.StatusType.values())
            -    System.out.println(c);
            -
            -
            -
            Returns:
            -
            an array containing the constants of this enum type, in the order they are declared
            +
          • +
            +

            Method Details

            +
              +
            • +
              +

              values

              +
              public static ILiveDataEvent.StatusType[] values()
              +
              Returns an array containing the constants of this enum class, in +the order they are declared.
              +
              +
              Returns:
              +
              an array containing the constants of this enum class, in the order they are declared
              +
            • -
            - - - -
              -
            • -

              valueOf

              -
              public static ILiveDataEvent.StatusType valueOf(String name)
              -
              Returns the enum constant of this type with the specified name. +
            • +
              +

              valueOf

              +
              public static ILiveDataEvent.StatusType valueOf(String name)
              +
              Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are +enum constant in this class. (Extraneous whitespace characters are not permitted.)
              -
              -
              Parameters:
              +
              +
              Parameters:
              name - the name of the enum constant to be returned.
              -
              Returns:
              +
              Returns:
              the enum constant with the specified name
              -
              Throws:
              -
              IllegalArgumentException - if this enum type has no constant with the specified name
              -
              NullPointerException - if the argument is null
              +
              Throws:
              +
              IllegalArgumentException - if this enum class has no constant with the specified name
              +
              NullPointerException - if the argument is null
              +
            +
          -
        • -
        - - +
    - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/ILiveDataEvent.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/ILiveDataEvent.html index d0f21a1c241..5053f48fc10 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/ILiveDataEvent.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/ILiveDataEvent.html @@ -1,280 +1,193 @@ - - + - + +ILiveDataEvent (Subscription - Applications - TracAPI 5.0.0 API) + -ILiveDataEvent (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.event
    -

    Interface ILiveDataEvent

    + +

    Interface ILiveDataEvent

    -
    -
    -
      -
    • +

      -
      -
      public interface ILiveDataEvent
      +
      public interface ILiveDataEvent

      This event is used to monitorize the status of the live connection

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
    -
    -
    + + + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    If the getStatusType() method returns + ILiveDataEvent.StatusType.Error, this method returns the error message.
    +
    + + +
    Gets the status of the connection
    -
    -
    Returns:
    +
    +
    +
    +
    +
    +
  • + + +
    + - - -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IMessage.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IMessage.html index bc279c1f7f1..7e5f7e0a5f8 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IMessage.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IMessage.html @@ -1,237 +1,158 @@ - - + - + +IMessage (Subscription - Applications - TracAPI 5.0.0 API) + -IMessage (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.event
    -

    Interface IMessage

    + +

    Interface IMessage

    -
    -
    -
      -
    • +

      -
      -
      public interface IMessage
      +
      public interface IMessage

      General message associated to an event

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          getMessageData

          -
          IMessageData getMessageData()
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            getMessageData

            +
            IMessageData getMessageData()
            The message associated to the event
            -
            -
            Returns:
            +
            +
            Returns:
            a message with data
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IServerTimeListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IServerTimeListener.html index 85746b0aa83..2ba0c99d305 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IServerTimeListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IServerTimeListener.html @@ -1,247 +1,172 @@ - - + - + +IServerTimeListener (Subscription - Applications - TracAPI 5.0.0 API) + -IServerTimeListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.event
    -

    Interface IServerTimeListener

    + +

    Interface IServerTimeListener

    -
    -
    - -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          voidgotServerTime(long time, - long precision) +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          void
          +
          gotServerTime(long time, + long precision)
          +
          This event is thrown when a new server time event arrives from the server
          -
        • -
        • -
        - -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotServerTime

          -
          void gotServerTime(long time,
          -                   long precision)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotServerTime

            +
            void gotServerTime(long time, + long precision)
            This event is thrown when a new server time event arrives from the server
            -
            -
            Parameters:
            +
            +
            Parameters:
            time - the UTC time from the server
            precision - the precision of the UTC time
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IStoredDataEvent.Type.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IStoredDataEvent.Type.html index c9deda4fa39..80bb6ce1c39 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IStoredDataEvent.Type.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IStoredDataEvent.Type.html @@ -1,385 +1,271 @@ - - + - + +IStoredDataEvent.Type (Subscription - Applications - TracAPI 5.0.0 API) + -IStoredDataEvent.Type (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.event
    -

    Enum IStoredDataEvent.Type

    + +

    Enum Class IStoredDataEvent.Type

    -
    - -
    -
    -
    -
    -
    -
      -
    • - -
        -
      • - - -

        Enum Constant Detail

        - - - -
          -
        • -

          Begin

          -
          public static final IStoredDataEvent.Type Begin
          -
          This type is used at the beginning of the stored connection.
          -
        • -
        - - - -
          -
        • -

          End

          -
          public static final IStoredDataEvent.Type End
          + +
          This type is used at the end of the stored connection.
          +
          + +
          +
          There is an error in the stored connection.
          +
          + +
          +
          This type is sent during the loading of the stored data.
          +
          +
    + + + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    Returns the enum constant of this class with the specified name.
    +
    + + +
    +
    Returns an array containing the constants of this enum class, in +the order they are declared.
    +
    +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    +getClass, notify, notifyAll, wait, wait, wait
    +
  • - - - -
      -
    • -

      Progress

      -
      public static final IStoredDataEvent.Type Progress
      + +
      +
        + +
      • +
        +

        Enum Constant Details

        +
          +
        • +
          +

          Begin

          +
          public static final IStoredDataEvent.Type Begin
          +
          This type is used at the beginning of the stored connection.
          +
          +
        • +
        • +
          +

          End

          +
          public static final IStoredDataEvent.Type End
          +
          This type is used at the end of the stored connection.
          +
          +
        • +
        • +
          +

          Progress

          +
          public static final IStoredDataEvent.Type Progress
          This type is sent during the loading of the stored data. It is used to send a percentage of the loaded stored data.
          +
        • -
        - - - - +
      • -
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          values

          -
          public static IStoredDataEvent.Type[] values()
          -
          Returns an array containing the constants of this enum type, in -the order they are declared. This method may be used to iterate -over the constants as follows: -
          -for (IStoredDataEvent.Type c : IStoredDataEvent.Type.values())
          -    System.out.println(c);
          -
          -
          -
          Returns:
          -
          an array containing the constants of this enum type, in the order they are declared
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            values

            +
            public static IStoredDataEvent.Type[] values()
            +
            Returns an array containing the constants of this enum class, in +the order they are declared.
            +
            +
            Returns:
            +
            an array containing the constants of this enum class, in the order they are declared
            +
          • -
          - - - -
            -
          • -

            valueOf

            -
            public static IStoredDataEvent.Type valueOf(String name)
            -
            Returns the enum constant of this type with the specified name. +
          • +
            +

            valueOf

            +
            public static IStoredDataEvent.Type valueOf(String name)
            +
            Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an -enum constant in this type. (Extraneous whitespace characters are +enum constant in this class. (Extraneous whitespace characters are not permitted.)
            -
            -
            Parameters:
            +
            +
            Parameters:
            name - the name of the enum constant to be returned.
            -
            Returns:
            +
            Returns:
            the enum constant with the specified name
            -
            Throws:
            -
            IllegalArgumentException - if this enum type has no constant with the specified name
            -
            NullPointerException - if the argument is null
            +
            Throws:
            +
            IllegalArgumentException - if this enum class has no constant with the specified name
            +
            NullPointerException - if the argument is null
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IStoredDataEvent.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IStoredDataEvent.html index 101645a29bf..d46eefd7b99 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IStoredDataEvent.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/IStoredDataEvent.html @@ -1,302 +1,211 @@ - - + - + +IStoredDataEvent (Subscription - Applications - TracAPI 5.0.0 API) + -IStoredDataEvent (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.event
    -

    Interface IStoredDataEvent

    + +

    Interface IStoredDataEvent

    -
    -
    -
      -
    • +

      -
      -
      public interface IStoredDataEvent
      +
      public interface IStoredDataEvent

      This event is used to monitorize the status of the stored connection

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
    -
    -
    + + + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + + +
    +
    If the getType() method returns IStoredDataEvent.Type.Error + , this method returns the error message
    +
    +
    float
    + +
    +
    If the getType() method returns + IStoredDataEvent.Type.Progress, this method returns the percentage of data loaded.
    +
    + + +
    Gets the type of the stored data message.
    -
    -
    Returns:
    +
    +
    +
    +
    +
    +
  • + + +
    + - - -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IConnectionStatusListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IConnectionStatusListener.html index 57409489175..1f468cd08e8 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IConnectionStatusListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IConnectionStatusListener.html @@ -1,177 +1,98 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.event.IConnectionStatusListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.event.IConnectionStatusListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IConnectionStatusListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IConnectionStatusListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IEventMessageListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IEventMessageListener.html index 8f4d32462ae..fe81a1274a9 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IEventMessageListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IEventMessageListener.html @@ -1,177 +1,98 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.event.IEventMessageListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.event.IEventMessageListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IEventMessageListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IEventMessageListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/ILiveDataEvent.StatusType.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/ILiveDataEvent.StatusType.html index cabc535ac1d..115740686bb 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/ILiveDataEvent.StatusType.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/ILiveDataEvent.StatusType.html @@ -1,184 +1,104 @@ - - + - + +Uses of Enum Class com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType

    +

    Uses of Enum Class
    com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/ILiveDataEvent.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/ILiveDataEvent.html index ee9331c5497..7d7f6c3d6a6 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/ILiveDataEvent.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/ILiveDataEvent.html @@ -1,171 +1,93 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.event.ILiveDataEvent (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.event.ILiveDataEvent (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.event.ILiveDataEvent

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.event.ILiveDataEvent

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IMessage.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IMessage.html index 30be5f8200f..b13cedae8f5 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IMessage.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IMessage.html @@ -1,126 +1,63 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.event.IMessage (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.event.IMessage (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IMessage

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IMessage

    -
    No usage of com.tractrac.subscription.lib.api.event.IMessage
    - -
    - - - - - - - +No usage of com.tractrac.subscription.lib.api.event.IMessage
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IServerTimeListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IServerTimeListener.html index ccb95edd4f8..78e8942eab3 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IServerTimeListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IServerTimeListener.html @@ -1,177 +1,98 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.event.IServerTimeListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.event.IServerTimeListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IServerTimeListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IServerTimeListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IStoredDataEvent.Type.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IStoredDataEvent.Type.html index 181d01c9ce7..35cf917868f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IStoredDataEvent.Type.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IStoredDataEvent.Type.html @@ -1,184 +1,104 @@ - - + - + +Uses of Enum Class com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Class com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Class
    com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type

    +

    Uses of Enum Class
    com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IStoredDataEvent.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IStoredDataEvent.html index c78ba3bcdc3..0a026549ee2 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IStoredDataEvent.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/class-use/IStoredDataEvent.html @@ -1,171 +1,93 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.event.IStoredDataEvent (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.event.IStoredDataEvent (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IStoredDataEvent

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.event.IStoredDataEvent

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-frame.html deleted file mode 100644 index 94af334546e..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-frame.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -com.tractrac.subscription.lib.api.event (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.subscription.lib.api.event

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-summary.html index 15302c6640f..7321f15b580 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-summary.html @@ -1,218 +1,177 @@ - - + - + +com.tractrac.subscription.lib.api.event (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.event (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Package com.tractrac.subscription.lib.api.event

    -
    -
    - Subscriptions related with the event and/or the connection
    +

    Package com.tractrac.subscription.lib.api.event

    -

    See: Description

    -
    -
    -
      -
    • - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Interface Summary 
      InterfaceDescription
      IConnectionStatusListener -
      - The listener interface for receiving events for the stored and live data - handler.
      -
      IEventMessageListener -
      - The listener interface for receiving events whenever a new message arrives.
      -
      ILiveDataEvent -
      - This event is used to monitorize the status of the live connection
      -
      IMessage -
      - General message associated to an event
      -
      IServerTimeListener -
      - Listener used to listen the serever time
      -
      IStoredDataEvent -
      - This event is used to monitorize the status of the stored connection
      -
      -
    • -
    • - - - - - - - - - - - - - - - - -
      Enum Summary 
      EnumDescription
      ILiveDataEvent.StatusType -
      The status of the connection
      -
      IStoredDataEvent.Type -
      The type of message
      -
      -
    • -
    - - - -

    Package com.tractrac.subscription.lib.api.event Description

    +
    +
    package com.tractrac.subscription.lib.api.event
    +

    Subscriptions related with the event and/or the connection

    +
    +
    + +
    +
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-tree.html index 28be6cc1ded..b019c15eff4 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-tree.html @@ -1,157 +1,97 @@ - - + - + +com.tractrac.subscription.lib.api.event Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.event Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.subscription.lib.api.event

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    -

    Enum Hierarchy

    +
    +
    +

    Enum Class Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-use.html index 789b3469c2a..e29035b409f 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/event/package-use.html @@ -1,219 +1,134 @@ - - + - + +Uses of Package com.tractrac.subscription.lib.api.event (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.subscription.lib.api.event (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.subscription.lib.api.event

    -
    -
    +
    + -
  • - - - - - - - - - - - - - - - - - - - - - -
    Classes in com.tractrac.subscription.lib.api.event used by com.tractrac.subscription.lib.api.event 
    Class and Description
    ILiveDataEvent +
  • +
    + +
    +
    Class
    +
    Description
    + +
    This event is used to monitorize the status of the live connection
    -
  • ILiveDataEvent.StatusType + + +
    The status of the connection
    -
    IStoredDataEvent + + +
    This event is used to monitorize the status of the stored connection
    -
    IStoredDataEvent.Type + + +
    The type of message
    -
    +
  • +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/IMapItemsListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/IMapItemsListener.html index ac84b659bca..c4786c8ddeb 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/IMapItemsListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/IMapItemsListener.html @@ -1,294 +1,207 @@ - - + - + +IMapItemsListener (Subscription - Applications - TracAPI 5.0.0 API) + -IMapItemsListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.map
    -

    Interface IMapItemsListener

    + +

    Interface IMapItemsListener

    -
    -
    - -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          voidaddMapItem(long timestamp, - IMapItem mapItem) +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          void
          +
          addMapItem(long timestamp, + IMapItem mapItem)
          +
          A new control has been added to the event.
          -
        • voiddeleteMapItem(long timestamp, - UUID mapItemId) -
          A control has been removed from the event
          -
          voidupdateMapItem(long timestamp, - IMapItem mapItem) -
          This event is thrown when a map item is updated.
          -
          -
        • -
        - -
    -
    -
      -
    • +
      void
      +
      deleteMapItem(long timestamp, + UUID mapItemId)
      +
      +
      A control has been removed from the event
      +
      +
      void
      +
      updateMapItem(long timestamp, + IMapItem mapItem)
      +
      +
      This event is thrown when a map item is updated.
      +
      +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          updateMapItem

          -
          void updateMapItem(long timestamp,
          -                   IMapItem mapItem)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            updateMapItem

            +
            void updateMapItem(long timestamp, + IMapItem mapItem)
            This event is thrown when a map item is updated. It means that any of its static attributes have changed.
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            mapItem - the map item that has been updated.
            +
          • -
          - - - -
            -
          • -

            addMapItem

            -
            void addMapItem(long timestamp,
            -                IMapItem mapItem)
            +
          • +
            +

            addMapItem

            +
            void addMapItem(long timestamp, + IMapItem mapItem)
            A new control has been added to the event.
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            mapItem - the added map item
            +
          • -
          - - - -
            -
          • -

            deleteMapItem

            -
            void deleteMapItem(long timestamp,
            -                   UUID mapItemId)
            +
          • +
            +

            deleteMapItem

            +
            void deleteMapItem(long timestamp, + UUID mapItemId)
            A control has been removed from the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            mapItemId - the deleted map item identifier
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/IPositionedItemPositionListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/IPositionedItemPositionListener.html index 952a23de40b..8ebebd65ee9 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/IPositionedItemPositionListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/IPositionedItemPositionListener.html @@ -1,248 +1,173 @@ - - + - + +IPositionedItemPositionListener (Subscription - Applications - TracAPI 5.0.0 API) + -IPositionedItemPositionListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.map
    -

    Interface IPositionedItemPositionListener

    + +

    Interface IPositionedItemPositionListener

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotPositionedItemPosition

          -
          void gotPositionedItemPosition(IPositionedItem positionedItem,
          -                               IPosition position)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotPositionedItemPosition

            +
            void gotPositionedItemPosition(IPositionedItem positionedItem, + IPosition position)
            Invoked when a new position for a control point arrives.
            -
            -
            Parameters:
            +
            +
            Parameters:
            positionedItem - the positioned item
            position - the position of the positioned item
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/class-use/IMapItemsListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/class-use/IMapItemsListener.html index 38ab498236f..977a184b424 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/class-use/IMapItemsListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/class-use/IMapItemsListener.html @@ -1,179 +1,100 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.map.IMapItemsListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.map.IMapItemsListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.map.IMapItemsListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.map.IMapItemsListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/class-use/IPositionedItemPositionListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/class-use/IPositionedItemPositionListener.html index b3a4630bd74..61f61973395 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/class-use/IPositionedItemPositionListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/class-use/IPositionedItemPositionListener.html @@ -1,186 +1,106 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.map.IPositionedItemPositionListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.map.IPositionedItemPositionListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.map.IPositionedItemPositionListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.map.IPositionedItemPositionListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-frame.html deleted file mode 100644 index 474736b5475..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-frame.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - -com.tractrac.subscription.lib.api.map (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.subscription.lib.api.map

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-summary.html index 4e6d6686da8..1f9680544e2 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-summary.html @@ -1,154 +1,144 @@ - - + - + +com.tractrac.subscription.lib.api.map (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.map (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.subscription.lib.api.map

    +
    +
    +
    package com.tractrac.subscription.lib.api.map
    +
    + - - -
    - +
    +
    +
    +
    + +
    +
    - - -
    - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-tree.html index d38467a6871..910a4828563 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-tree.html @@ -1,140 +1,78 @@ - - + - + +com.tractrac.subscription.lib.api.map Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.map Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.subscription.lib.api.map

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-use.html index d4a561f30be..c65a8200014 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/map/package-use.html @@ -1,171 +1,96 @@ - - + - + +Uses of Package com.tractrac.subscription.lib.api.map (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.subscription.lib.api.map (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.subscription.lib.api.map

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-frame.html deleted file mode 100644 index 10c1abf93ff..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-frame.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - -com.tractrac.subscription.lib.api (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.subscription.lib.api

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-summary.html index 5ade4a630e6..a785bcfde34 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-summary.html @@ -1,226 +1,176 @@ - - + - + +com.tractrac.subscription.lib.api (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Package com.tractrac.subscription.lib.api

    -
    +

    Package com.tractrac.subscription.lib.api

    +
    +
    +
    package com.tractrac.subscription.lib.api
    +
    +

    + Contains the classes used to add a subscription to an event. + It also contains the SubscriptionLocator + class that is the entry point of the library. +

    +
    +
    +
    +
    - - - -

    Package com.tractrac.subscription.lib.api Description

    -

    - Contains the classes used to add a subscription to an event. - It also contains the SubscriptionLocator - class that is the entry point of the library. -

    + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-tree.html index d3ce8439d19..41a3b43b982 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-tree.html @@ -1,93 +1,72 @@ - - + - + +com.tractrac.subscription.lib.api Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.subscription.lib.api

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Class Hierarchy

    +
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-use.html index 12c6383167a..88ef52ab983 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/package-use.html @@ -1,341 +1,227 @@ - - + - + +Uses of Package com.tractrac.subscription.lib.api (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.subscription.lib.api (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.subscription.lib.api

    -
    -
    - - -
    +
    +
    + +
    +
    - - -
    - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceCompetitorListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceCompetitorListener.html index 1bdc1da5098..0c0da60173e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceCompetitorListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceCompetitorListener.html @@ -1,314 +1,223 @@ - - + - + +IRaceCompetitorListener (Subscription - Applications - TracAPI 5.0.0 API) + -IRaceCompetitorListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.race
    -

    Interface IRaceCompetitorListener

    + +

    Interface IRaceCompetitorListener

    -
    -
    -
      -
    • +

      -
      -
      public interface IRaceCompetitorListener
      +
      public interface IRaceCompetitorListener

      This listener is manages the relationship between competitor and race. used - at a IRaceSubscriber level: it means that it is necessary to be + at a IRaceSubscriber level: it means that it is necessary to be subscribed to an individual race to receive its events.

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
      -
    • + +
      +
    -
    -
      -
    • - -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          addRaceCompetitor

          -
          void addRaceCompetitor(long timestamp,
          -                       IRaceCompetitor raceCompetitor)
          -
          This event is thrown when a new competitor has been attached to a race
          -
          -
          Parameters:
          -
          timestamp - the time stamp when the message was generated
          -
          raceCompetitor - the relationship between race and competitor
          -
          -
        • -
        - - - -
          -
        • -

          updateRaceCompetitor

          -
          void updateRaceCompetitor(long timestamp,
          -                          IRaceCompetitor raceCompetitor)
          -
          This event is thrown when a race competitor is updated
          -
          -
          Parameters:
          -
          timestamp - the time stamp when the message was generated
          -
          raceCompetitor - the relationship between race and competitor
          -
          -
        • -
        - - - -
          -
        • -

          deleteRaceCompetitor

          -
          void deleteRaceCompetitor(long timestamp,
          -                          UUID competitorId)
          +
          void
          +
          deleteRaceCompetitor(long timestamp, + UUID competitorId)
          +
          This event is thrown when a new competitor has been removed from a race
          -
          -
          Parameters:
          +
          +
          void
          +
          removeOffsetPositions(long timestamp, + UUID competitorId, + int offset)
          +
          +
          Remove positions after offset for the given competitor.
          +
          +
          void
          +
          updateRaceCompetitor(long timestamp, + IRaceCompetitor raceCompetitor)
          +
          +
          This event is thrown when a race competitor is updated
          +
          +
    +
    +
    + + + + +
    +
      + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        addRaceCompetitor

        +
        void addRaceCompetitor(long timestamp, + IRaceCompetitor raceCompetitor)
        +
        This event is thrown when a new competitor has been attached to a race
        +
        +
        Parameters:
        +
        timestamp - the time stamp when the message was generated
        +
        raceCompetitor - the relationship between race and competitor
        +
        +
        +
      • +
      • +
        +

        updateRaceCompetitor

        +
        void updateRaceCompetitor(long timestamp, + IRaceCompetitor raceCompetitor)
        +
        This event is thrown when a race competitor is updated
        +
        +
        Parameters:
        +
        timestamp - the time stamp when the message was generated
        +
        raceCompetitor - the relationship between race and competitor
        +
        +
        +
      • +
      • +
        +

        deleteRaceCompetitor

        +
        void deleteRaceCompetitor(long timestamp, + UUID competitorId)
        +
        This event is thrown when a new competitor has been removed from a race
        +
        +
        Parameters:
        timestamp - the time stamp when the message was generated
        competitorId - the competitor that is not a part of the race
        +
      • -
      - - - -
        -
      • -

        removeOffsetPositions

        -
        void removeOffsetPositions(long timestamp,
        -                           UUID competitorId,
        -                           int offset)
        +
      • +
        +

        removeOffsetPositions

        +
        void removeOffsetPositions(long timestamp, + UUID competitorId, + int offset)
        Remove positions after offset for the given competitor.
        -
        -
        Parameters:
        +
        +
        Parameters:
        timestamp - the time stamp when the message was generated
        competitorId -
        offset -
        +
      +
    - - -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceMessageListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceMessageListener.html index cd3ffd0df1f..e55605ed733 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceMessageListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceMessageListener.html @@ -1,240 +1,161 @@ - - + - + +IRaceMessageListener (Subscription - Applications - TracAPI 5.0.0 API) + -IRaceMessageListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.race
    -

    Interface IRaceMessageListener

    + +

    Interface IRaceMessageListener

    -
    -
    -
      -
    • +

      -
      -
      public interface IRaceMessageListener
      +
      public interface IRaceMessageListener

      General message associated to a race

      -
      -
      Author:
      +
      +
      Author:
      Jorge Piera Llodrá
      -
    • -
    -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotRaceMessage

          -
          void gotRaceMessage(IRace race,
          -                    IMessageData messageData)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotRaceMessage

            +
            void gotRaceMessage(IRace race, + IMessageData messageData)
            Invoked when a new race message arrives
            -
            -
            Parameters:
            +
            +
            Parameters:
            race - race associated to this message
            messageData - the message
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceStartStopTimesChangeListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceStartStopTimesChangeListener.html index 7975ead69bd..819fe564df2 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceStartStopTimesChangeListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRaceStartStopTimesChangeListener.html @@ -1,273 +1,194 @@ - - + - + +IRaceStartStopTimesChangeListener (Subscription - Applications - TracAPI 5.0.0 API) + -IRaceStartStopTimesChangeListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.race
    -

    Interface IRaceStartStopTimesChangeListener

    + +

    Interface IRaceStartStopTimesChangeListener

    -
    -
    - -
    -
    -
    -
    -
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotRaceStartStopTime

          -
          void gotRaceStartStopTime(IRace race,
          -                          IStartStopData startStopData)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotRaceStartStopTime

            +
            void gotRaceStartStopTime(IRace race, + IStartStopData startStopData)
            Invoked when an update in the race start and/or stop time occurs.
            -
            -
            Parameters:
            +
            +
            Parameters:
            race - race associated to this event
            startStopData - the race start and stop times
            +
          • -
          - - - -
            -
          • -

            gotTrackingStartStopTime

            -
            void gotTrackingStartStopTime(IRace race,
            -                              IStartStopData startStopData)
            +
          • +
            +

            gotTrackingStartStopTime

            +
            void gotTrackingStartStopTime(IRace race, + IStartStopData startStopData)
            Invoked when an update in the tracking start and/or stop time occurs.
            -
            -
            Parameters:
            +
            +
            Parameters:
            race - the race
            startStopData - the tracing start and tracking stop times
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRacesListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRacesListener.html index 361692e8042..3302353f6b3 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRacesListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IRacesListener.html @@ -1,266 +1,229 @@ - - + - + +IRacesListener (Subscription - Applications - TracAPI 5.0.0 API) + -IRacesListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.race
    -

    Interface IRacesListener

    + +

    Interface IRacesListener

    -
    -
    - -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          voidabandonRace(long timestamp, - UUID raceId) +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          void
          +
          abandonRace(long timestamp, + UUID raceId)
          +
          It is thrown when the race has been abandoned.
          -
        • voidaddRace(long timestamp, - IRace race) + +
          void
          +
          addRace(long timestamp, + IRace race)
          +
          A new race has been added to the event.
          -
          voiddataSourceChanged(long timestamp, - IRace race, - DataSource oldDataSource, - URI oldLiveURI, - URI oldStoredURI) + +
          void
          +
          dataSourceChanged(long timestamp, + IRace race, + DataSource oldDataSource, + URI oldLiveURI, + URI oldStoredURI)
          +
          It is thrown when the datasource has changed
          -
          voiddeleteRace(long timestamp, - UUID raceId) + +
          void
          +
          deleteRace(long timestamp, + UUID raceId)
          +
          A race has been removed from the event
          -
          voidreloadRace(long timestamp, - UUID raceId) + +
          void
          +
          reloadRace(long timestamp, + UUID raceId)
          +
          The set of positions or control passings have changed and this race needs to be reloaded.
          -
          voidstartTracking(long timestamp, - UUID raceId) -
          It is thrown when tracking of a race has started.
          -
          voidupdateRace(long timestamp, - IRace race) -
          This event is thrown when a race is updated.
          -
          -
        • -
        - -
    -
    -
      -
    • +
      void
      +
      startTracking(long timestamp, + UUID raceId)
      +
      +
      It is thrown when tracking of a race has started.
      +
      +
      void
      +
      updateRace(long timestamp, + IRace race)
      +
      +
      This event is thrown when a race is updated.
      +
      +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          updateRace

          -
          void updateRace(long timestamp,
          -                IRace race)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            updateRace

            +
            void updateRace(long timestamp, + IRace race)
            This event is thrown when a race is updated. I means that any of its static attributes have changed.
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            race - the race that has been updated.
            +
          • -
          - - - -
            -
          • -

            addRace

            -
            void addRace(long timestamp,
            -             IRace race)
            +
          • +
            +

            addRace

            +
            void addRace(long timestamp, + IRace race)
            A new race has been added to the event.
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            race - the added race
            +
          • -
          - - - -
            -
          • -

            deleteRace

            -
            void deleteRace(long timestamp,
            -                UUID raceId)
            +
          • +
            +

            deleteRace

            +
            void deleteRace(long timestamp, + UUID raceId)
            A race has been removed from the event
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            raceId - the deleted race identifier
            +
          • -
          - - - - - - - -
            -
          • -

            abandonRace

            -
            void abandonRace(long timestamp,
            -                 UUID raceId)
            +
          • +
            +

            abandonRace

            +
            void abandonRace(long timestamp, + UUID raceId)
            It is thrown when the race has been abandoned. It is necessary to abort the current subscriptions.
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            raceId - the identifier of the race that needs to be abandoned
            +
          • -
          - - - -
            -
          • -

            startTracking

            -
            void startTracking(long timestamp,
            -                   UUID raceId)
            +
          • +
            +

            startTracking

            +
            void startTracking(long timestamp, + UUID raceId)
            It is thrown when tracking of a race has started. In practice, it means that the start tracking time and the end tracking time are valid and the system will attach positions to this race if they arrive between the tracking interval
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            raceId - the identifier of the race which tracking has been initialized
            +
          • -
          - - - -
            -
          • -

            dataSourceChanged

            -
            void dataSourceChanged(long timestamp,
            -                       IRace race,
            -                       DataSource oldDataSource,
            -                       URI oldLiveURI,
            -                       URI oldStoredURI)
            +
          • +
            +

            dataSourceChanged

            +
            void dataSourceChanged(long timestamp, + IRace race, + DataSource oldDataSource, + URI oldLiveURI, + URI oldStoredURI)
            It is thrown when the datasource has changed
            -
            -
            Parameters:
            +
            +
            Parameters:
            timestamp - the time stamp when the message was generated
            race - the race that contains the new datasource
            oldDataSource - the old datasource
            oldLiveURI - the old live URI
            oldStoredURI - the new stored URI
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IStartStopTimesChangeListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IStartStopTimesChangeListener.html index 4d69b57577b..11219219da5 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IStartStopTimesChangeListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/IStartStopTimesChangeListener.html @@ -1,245 +1,170 @@ - - + - + +IStartStopTimesChangeListener (Subscription - Applications - TracAPI 5.0.0 API) + -IStartStopTimesChangeListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.race
    -

    Interface IStartStopTimesChangeListener

    + +

    Interface IStartStopTimesChangeListener

    -
    -
    - -
    -
    -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          gotStartStopTime

          -
          void gotStartStopTime(IStartStopData startStopData)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            gotStartStopTime

            +
            void gotStartStopTime(IStartStopData startStopData)
            Invoked when an update in the start and/or stop time occurs.
            -
            -
            Parameters:
            +
            +
            Parameters:
            startStopData - the start and stop times
            +
          +
        -
      • -
      -
    - + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceCompetitorListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceCompetitorListener.html index d9fb7977e6d..d4bc81d4337 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceCompetitorListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceCompetitorListener.html @@ -1,177 +1,98 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IRaceCompetitorListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IRaceCompetitorListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceMessageListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceMessageListener.html index 6cf3205caf5..5b52a454749 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceMessageListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceMessageListener.html @@ -1,177 +1,98 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.race.IRaceMessageListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.race.IRaceMessageListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IRaceMessageListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IRaceMessageListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceStartStopTimesChangeListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceStartStopTimesChangeListener.html index b1b42142ddf..ad269e29ccb 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceStartStopTimesChangeListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRaceStartStopTimesChangeListener.html @@ -1,177 +1,98 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRacesListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRacesListener.html index 38d4f7050dd..babacae8330 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRacesListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IRacesListener.html @@ -1,179 +1,100 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.race.IRacesListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.race.IRacesListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IRacesListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IRacesListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IStartStopTimesChangeListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IStartStopTimesChangeListener.html index f9765a9cd54..b1b65d87927 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IStartStopTimesChangeListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/class-use/IStartStopTimesChangeListener.html @@ -1,177 +1,98 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.race.IStartStopTimesChangeListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.race.IStartStopTimesChangeListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IStartStopTimesChangeListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.race.IStartStopTimesChangeListener

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-frame.html deleted file mode 100644 index b0e857eb0c8..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-frame.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - -com.tractrac.subscription.lib.api.race (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.subscription.lib.api.race

    - - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-summary.html index 41de3daccef..d324bd57869 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-summary.html @@ -1,188 +1,162 @@ - - + - + +com.tractrac.subscription.lib.api.race (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.race (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.subscription.lib.api.race

    +
    +
    +
    package com.tractrac.subscription.lib.api.race
    +

    Subscriptions related with the races

    +
    +
    + +
    +
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-tree.html index 4a80e85f96f..d51adee2527 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-tree.html @@ -1,143 +1,81 @@ - - + - + +com.tractrac.subscription.lib.api.race Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.race Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.subscription.lib.api.race

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-use.html index 3e0aa3bef85..42572405dcf 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/race/package-use.html @@ -1,190 +1,112 @@ - - + - + +Uses of Package com.tractrac.subscription.lib.api.race (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.subscription.lib.api.race (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.subscription.lib.api.race

    -
    -
    +
    + + + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/IRoutesListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/IRoutesListener.html index ad7aa5c6e89..5de8f0f1db8 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/IRoutesListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/IRoutesListener.html @@ -1,245 +1,166 @@ - - + - + +IRoutesListener (Subscription - Applications - TracAPI 5.0.0 API) + -IRoutesListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -
    com.tractrac.subscription.lib.api.route
    -

    Interface IRoutesListener

    + +

    Interface IRoutesListener

    -
    -
    - -
    -
    -
      -
    • + +
      +
        -
          -
        • - - -

          Method Summary

          - - - - - - - - - - -
          All Methods Instance Methods Abstract Methods 
          Modifier and TypeMethod and Description
          voidupdateRoute(IRoute route) +
        • +
          +

          Method Summary

          +
          +
          +
          +
          +
          Modifier and Type
          +
          Method
          +
          Description
          +
          void
          + +
          This event is thrown when a route is updated.
          -
        • -
        • -
        - -
    -
    -
      -
    • +
    +
    +
    + + + + +
    +
      -
        -
      • - - -

        Method Detail

        - - - -
          -
        • -

          updateRoute

          -
          void updateRoute(IRoute route)
          +
        • +
          +

          Method Details

          +
            +
          • +
            +

            updateRoute

            +
            void updateRoute(IRoute route)
            This event is thrown when a route is updated. I means that any of its static attributes have changed.
            -
            -
            Parameters:
            +
            +
            Parameters:
            route - the route that has been updated.
            +
          +
        -
      • -
      -
    -
    + - -
    - - - - - - - + +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/class-use/IRoutesListener.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/class-use/IRoutesListener.html index 4816917d91c..580890c896e 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/class-use/IRoutesListener.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/class-use/IRoutesListener.html @@ -1,126 +1,63 @@ - - + - + +Uses of Interface com.tractrac.subscription.lib.api.route.IRoutesListener (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Interface com.tractrac.subscription.lib.api.route.IRoutesListener (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    -

    Uses of Interface
    com.tractrac.subscription.lib.api.route.IRoutesListener

    +

    Uses of Interface
    com.tractrac.subscription.lib.api.route.IRoutesListener

    -
    No usage of com.tractrac.subscription.lib.api.route.IRoutesListener
    - -
    - - - - - - - +No usage of com.tractrac.subscription.lib.api.route.IRoutesListener
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-frame.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-frame.html deleted file mode 100644 index 5fac3335451..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-frame.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - -com.tractrac.subscription.lib.api.route (Subscription - Applications - TracAPI 4.0.2 API) - - - - - -

    com.tractrac.subscription.lib.api.route

    -
    -

    Interfaces

    - -
    - - diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-summary.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-summary.html index a7ce76ab8df..ff1a1bb36b7 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-summary.html @@ -1,159 +1,141 @@ - - + - + +com.tractrac.subscription.lib.api.route (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.route (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Package com.tractrac.subscription.lib.api.route

    +
    +
    +
    package com.tractrac.subscription.lib.api.route
    +

    Subscriptions related with the routes

    +
    +
    + +
    +
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-tree.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-tree.html index ff64910e2fa..a9f2740f96c 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-tree.html @@ -1,139 +1,77 @@ - - + - + +com.tractrac.subscription.lib.api.route Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -com.tractrac.subscription.lib.api.route Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Hierarchy For Package com.tractrac.subscription.lib.api.route

    -Package Hierarchies: -
      +
    +Package Hierarchies: + -
    -
    +

    Interface Hierarchy

    +
    + +
    +
    + +
    - - - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-use.html b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-use.html index be1af269e1d..327856ae90a 100644 --- a/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-use.html +++ b/java/com.tractrac.clientmodule/javadoc/com/tractrac/subscription/lib/api/route/package-use.html @@ -1,126 +1,63 @@ - - + - + +Uses of Package com.tractrac.subscription.lib.api.route (Subscription - Applications - TracAPI 5.0.0 API) + -Uses of Package com.tractrac.subscription.lib.api.route (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Uses of Package
    com.tractrac.subscription.lib.api.route

    -
    No usage of com.tractrac.subscription.lib.api.route
    - -
    - - - - - - - +No usage of com.tractrac.subscription.lib.api.route
    +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/constant-values.html b/java/com.tractrac.clientmodule/javadoc/constant-values.html index 15ef89cbdff..c38a1ed693f 100644 --- a/java/com.tractrac.clientmodule/javadoc/constant-values.html +++ b/java/com.tractrac.clientmodule/javadoc/constant-values.html @@ -1,183 +1,97 @@ - - + - + +Constant Field Values (Subscription - Applications - TracAPI 5.0.0 API) + -Constant Field Values (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Constant Field Values

    +
    +

    Contents

    -
    +
    +

    com.tractrac.*

    +
    +
    +
    +
    + +
    - -
    - - - - - - -
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/copy.svg b/java/com.tractrac.clientmodule/javadoc/copy.svg new file mode 100644 index 00000000000..d435f6c3754 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/copy.svg @@ -0,0 +1,33 @@ + + + + + + + + diff --git a/java/com.tractrac.clientmodule/javadoc/deprecated-list.html b/java/com.tractrac.clientmodule/javadoc/deprecated-list.html index 3bdb7782de7..4f225f6618d 100644 --- a/java/com.tractrac.clientmodule/javadoc/deprecated-list.html +++ b/java/com.tractrac.clientmodule/javadoc/deprecated-list.html @@ -1,148 +1,94 @@ - - + - + +Deprecated List (Subscription - Applications - TracAPI 5.0.0 API) + -Deprecated List (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +

    Deprecated API

    -

    Contents

    -
    -
    - - -
    - -
    - - - - - - - -
    -
    +
    +
    + +
    +
    - - -
    - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/package-list b/java/com.tractrac.clientmodule/javadoc/element-list similarity index 100% rename from java/com.tractrac.clientmodule/javadoc/package-list rename to java/com.tractrac.clientmodule/javadoc/element-list diff --git a/java/com.tractrac.clientmodule/javadoc/help-doc.html b/java/com.tractrac.clientmodule/javadoc/help-doc.html index dd09a4216b9..6e2100a45b0 100644 --- a/java/com.tractrac.clientmodule/javadoc/help-doc.html +++ b/java/com.tractrac.clientmodule/javadoc/help-doc.html @@ -1,231 +1,209 @@ - - + - + +API Help (Subscription - Applications - TracAPI 5.0.0 API) + -API Help (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +

    JavaDoc Help

    +
      +
    • Navigation: +
    • -
    • -

      Class/Interface

      -

      Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      - +
      +
      +

      Navigation

      +Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
      +
      +
      +

      Kinds of Pages

      +The following sections describe the different kinds of pages in this collection. +
      +

      Overview

      +

      The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

      +
      +
      +

      Package

      +

      Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

      +
        +
      • Interfaces
      • +
      • Classes
      • +
      • Enum Classes
      • +
      • Exception Classes
      • +
      • Annotation Interfaces
      • +
      +
      +
      +

      Class or Interface

      +

      Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

      +
        +
      • Class Inheritance Diagram
      • Direct Subclasses
      • All Known Subinterfaces
      • All Known Implementing Classes
      • -
      • Class/interface declaration
      • -
      • Class/interface description
      • +
      • Class or Interface Declaration
      • +
      • Class or Interface Description
      -
        +
        +
        • Nested Class Summary
        • +
        • Enum Constant Summary
        • Field Summary
        • +
        • Property Summary
        • Constructor Summary
        • Method Summary
        • -
        -
          -
        • Field Detail
        • -
        • Constructor Detail
        • -
        • Method Detail
        • -
        -

        Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

        - -
      • -

        Annotation Type

        -

        Each annotation type has its own separate page with the following sections:

        -
          -
        • Annotation Type declaration
        • -
        • Annotation Type description
        • Required Element Summary
        • Optional Element Summary
        • -
        • Element Detail
        -
      • -
      • -

        Enum

        -

        Each enum has its own separate page with the following sections:

        -
          -
        • Enum declaration
        • -
        • Enum description
        • -
        • Enum Constant Summary
        • -
        • Enum Constant Detail
        • +
          +
            +
          • Enum Constant Details
          • +
          • Field Details
          • +
          • Property Details
          • +
          • Constructor Details
          • +
          • Method Details
          • +
          • Element Details
          - -
        • -

          Use

          -

          Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.

          -
        • -
        • -

          Tree (Class Hierarchy)

          -

          There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.

          -
            -
          • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
          • -
          • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
          • +

            Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

            +

            The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

            +
      +
      +

      Other Files

      +

      Packages and modules may contain pages with additional information related to the declarations nearby.

      +
      +
      +

      Use

      +

      Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.

      +
      +
      +

      Tree (Class Hierarchy)

      +

      There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

      +
        +
      • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
      • +
      • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
      -
    • -
    • -

      Deprecated API

      -

      The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

      -
    • -
    • -

      Index

      -

      The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

      -
    • -
    • -

      Prev/Next

      -

      These links take you to the next or previous class, interface, package, or related page.

      -
    • -
    • -

      Frames/No Frames

      -

      These links show and hide the HTML frames. All pages are available with or without frames.

      -
    • -
    • -

      All Classes

      -

      The All Classes link shows all classes and interfaces except non-static nested types.

      -
    • -
    • -

      Serialized Form

      -

      Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

      -
    • -
    • -

      Constant Field Values

      + +
      +

      Deprecated API

      +

      The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

      +
      +
      +

      Constant Field Values

      The Constant Field Values page lists the static final fields and their values.

      -
    • -
    -This help file applies to API documentation generated using the standard doclet.
    - -
    - - - - - - - + +
    +

    Serialized Form

    +

    Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

    +
    +
    +

    All Packages

    +

    The All Packages page contains an alphabetic index of all packages contained in the documentation.

    +
    +
    +

    All Classes and Interfaces

    +

    The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

    +
    +
    +

    Index

    +

    The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

    +
    +
    +
    +This help file applies to API documentation generated by the standard doclet. +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/index-all.html b/java/com.tractrac.clientmodule/javadoc/index-all.html index 5e2e1d95b32..81e6290dce2 100644 --- a/java/com.tractrac.clientmodule/javadoc/index-all.html +++ b/java/com.tractrac.clientmodule/javadoc/index-all.html @@ -1,159 +1,145 @@ - - + - + +Index (Subscription - Applications - TracAPI 5.0.0 API) + -Index (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + +
    +
    +
    +

    Index

    +
    +A B C D E F G H I L M N O P R S T U V 
    All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

    A

    +
    +
    ABANDONED - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    ABANDONED - Enum constant in enum class com.tractrac.model.lib.api.event.RaceStatusType
    +
     
    +
    abandonRace(long, UUID) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    It is thrown when the race has been abandoned.
    -
    AbstractAttachable - Class in com.tractrac.model.lib.api.attachment
    +
    AbstractAttachable - Class in com.tractrac.model.lib.api.attachment
    Abstract implementation for the IAttachable interface.
    -
    AbstractAttachable() - Constructor for class com.tractrac.model.lib.api.attachment.AbstractAttachable
    +
    AbstractAttachable() - Constructor for class com.tractrac.model.lib.api.attachment.AbstractAttachable
     
    -
    addCompetitor(ICompetitor) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    -
    Add a new competitor to the event
    -
    -
    addCompetitor(long, ICompetitor) - Method in interface com.tractrac.subscription.lib.api.competitor.ICompetitorsListener
    +
    addCompetitor(long, ICompetitor) - Method in interface com.tractrac.subscription.lib.api.competitor.ICompetitorsListener
    A new competitor has been added to the event.
    -
    addControl(IMapItem) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    addCompetitor(ICompetitor) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    +
    Add a new competitor to the event
    +
    +
    addControl(IMapItem) - Method in interface com.tractrac.model.lib.api.event.IEvent
    Add a new control to the event
    -
    addControlPoint(IPositionedItem) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    addControlPoint(IPositionedItem) - Method in interface com.tractrac.model.lib.api.event.IEvent
    Add a new control point to the event
    -
    addMapItem(long, IMapItem) - Method in interface com.tractrac.subscription.lib.api.map.IMapItemsListener
    +
    addMapItem(long, IMapItem) - Method in interface com.tractrac.subscription.lib.api.map.IMapItemsListener
    A new control has been added to the event.
    -
    addRace(IRace) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    -
    Add a new race to the event
    -
    -
    addRace(long, IRace) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    +
    addRace(long, IRace) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    A new race has been added to the event.
    -
    addRaceCompetitor(IRaceCompetitor) - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    addRace(IRace) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    Add a new race competitor to the race
    +
    Add a new race to the event
    -
    addRaceCompetitor(long, IRaceCompetitor) - Method in interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener
    +
    addRaceCompetitor(long, IRaceCompetitor) - Method in interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener
    This event is thrown when a new competitor has been attached to a race
    -
    after(IPosition) - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    addRaceCompetitor(IRaceCompetitor) - Method in interface com.tractrac.model.lib.api.event.IRace
    -
    Gets is this position is after (in terms of time) other position
    +
    Add a new race competitor to the race
    -
    after(long) - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    after(long) - Method in interface com.tractrac.model.lib.api.data.IPosition
    Gets is this position is after (in terms of time) a timestamp
    -
    - - - -

    B

    -
    -
    before(IPosition) - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    after(IPosition) - Method in interface com.tractrac.model.lib.api.data.IPosition
    -
    Gets is this position is before (in terms of time) other position
    +
    Gets is this position is after (in terms of time) other position
    -
    before(long) - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    +

    B

    +
    +
    before(long) - Method in interface com.tractrac.model.lib.api.data.IPosition
    Gets is this position is before (in terms of time) a timestamp
    +
    before(IPosition) - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    +
    Gets is this position is before (in terms of time) other position
    +
    +
    Begin - Enum constant in enum class com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type
    +
    +
    This type is used at the beginning of the stored connection.
    +
    +
    BFD - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    BOUNDARY - Enum constant in enum class com.tractrac.model.lib.api.map.MapItemType
    +
     
    - - - -

    C

    -
    -
    clean() - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    +

    C

    +
    +
    clean() - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    Cleans all the objects in memory
    -
    cleanAll() - Method in class com.tractrac.model.lib.api.attachment.AbstractAttachable
    +
    cleanAll() - Method in class com.tractrac.model.lib.api.attachment.AbstractAttachable
     
    com.tractrac.model.lib.api - package com.tractrac.model.lib.api
    @@ -229,767 +215,805 @@
    Subscriptions related with the routes
    -
    competitorAbandoned() - Method in enum com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
    competitorAbandoned() - Method in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
     
    -
    createCompressedPosition(double, double, double, double, double) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    +
    Connected - Enum constant in enum class com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType
    +
    +
    The live connection is established
    +
    +
    CONTROL - Enum constant in enum class com.tractrac.model.lib.api.map.MapItemType
    +
     
    +
    createCompressedPosition(double, double, double, double, double) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    Create a compressed position that is a position that can be serialized and send by Internet.
    -
    createCompressedPosition(double, double, double, double, double, Double, Double, Byte, Integer) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    +
    createCompressedPosition(double, double, double, double, double, Double, Double, Byte, Integer) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    Create a compressed position that is a position that can be serialized and send by Internet.
    -
    createCompressedPosition(ByteBuffer, boolean) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    +
    createCompressedPosition(ByteBuffer, boolean) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    Create a compressed position from a buffer.
    -
    createCoordinate(double, double) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    +
    createCoordinate(double, double) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    Create a coordiante from a pair of coordinates
    -
    createCoordinate(double, double, double, double) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    +
    createCoordinate(double, double, double, double) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    Create a coordiante using the 4 dimensions.
    -
    createEvent(URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    createEvent(String, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    It creates an event object using the JSON with races.
    -
    createEvents(URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    createEvents(String, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    It creates a list of events using a JSON with events.
    -
    createEventsForClubs(URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    createEventsForClubs(String, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    It creates a list of events using a JSON with clubs
    -
    createEventSubscriber(IEvent) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    +
    createEventSubscriber(String, IEvent) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    Returns a subscriber for the event.
    -
    createEventSubscriber(IEvent, URI, URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    +
    createEventSubscriber(String, IEvent, URI, URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    Returns a subscriber for the event
    -
    createMetadata(String) - Method in interface com.tractrac.model.lib.api.metadata.IMetadataFactory
    +
    createMetadata(String) - Method in interface com.tractrac.model.lib.api.metadata.IMetadataFactory
    Create a new metadata object from an string
    -
    CreateModelException - Exception in com.tractrac.model.lib.api.event
    +
    CreateModelException - Exception Class in com.tractrac.model.lib.api.event
     
    -
    CreateModelException(Exception) - Constructor for exception com.tractrac.model.lib.api.event.CreateModelException
    +
    CreateModelException(Exception) - Constructor for exception class com.tractrac.model.lib.api.event.CreateModelException
     
    -
    createPathRoute(URL) - Method in interface com.tractrac.model.lib.api.route.IPathRouteFactory
    +
    createPathRoute(URL) - Method in interface com.tractrac.model.lib.api.route.IPathRouteFactory
    Creates a list of IPathRoute from a file
    -
    createPosition(double, double, double, double, double, double, long) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    -
    -
    Create a position
    -
    -
    createPosition(double, double, double, double, double, double, long, boolean, Double, Byte, Integer) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    -
    -
    Create a position
    -
    -
    createPosition(double, double) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    +
    createPosition(double, double) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    Create a position using the lat,lon values.
    -
    createRace(URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    createPosition(double, double, double, double, double, double, long) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    -
    Creates an IRace from a parameters file.
    +
    Create a position
    -
    createRace(URI, int) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    createPosition(double, double, double, double, double, double, long, boolean, Double, Byte, Integer) - Method in interface com.tractrac.model.lib.api.data.IPositionFactory
    -
    Creates an IRace from a parameters file
    +
    Create a position
    -
    createRace(URI, URI, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    -
    -
    Creates an IRace from a parameters file.
    -
    -
    createRace(URI, int, URI, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    -
    -
    Creates an IRace from a parameters file
    -
    -
    createRace(IParameterSet) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    createRace(String, IParameterSet) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    Creates an IRace from a set of parameters
    -
    createRace(IParameterSet, URI, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    createRace(String, IParameterSet, URI, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    Creates an IRace from a set of parameters
    -
    createRaceSubscriber(IRace) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    +
    createRace(String, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    +
    Creates an IRace from a parameters file.
    +
    +
    createRace(String, URI, int) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    +
    Creates an IRace from a parameters file
    +
    +
    createRace(String, URI, int, URI, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    +
    Creates an IRace from a parameters file
    +
    +
    createRace(String, URI, URI, URI) - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    +
    Creates an IRace from a parameters file.
    +
    +
    createRaceSubscriber(String, IRace) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    Returns a subscriber for a race.
    -
    createRaceSubscriber(URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    +
    createRaceSubscriber(String, IRace, URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    +
    +
    + Returns a subscriber for a race.
    +
    +
    createRaceSubscriber(String, IRace, URI, URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    +
    +
    + Returns a subscriber for a race.
    +
    +
    createRaceSubscriber(String, URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    Returns a subscriber for the race contained in the provided parameters file
    -
    createRaceSubscriber(IRace, URI, URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    -
    -
    - Returns a subscriber for a race.
    -
    -
    createRaceSubscriber(URI, URI, URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    +
    createRaceSubscriber(String, URI, URI, URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    Returns a subscriber for the race contained in the provided parameters file.
    -
    createRaceSubscriber(IRace, URI) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    -
    -
    - Returns a subscriber for a race.
    -
    - - - -

    D

    -
    -
    DataSource - Enum in com.tractrac.model.lib.api.event
    +

    D

    +
    +
    DATASERVER_TCP - Enum constant in enum class com.tractrac.model.lib.api.event.DataSource
    +
     
    +
    DATASERVER_WEBSOCKET - Enum constant in enum class com.tractrac.model.lib.api.event.DataSource
    +
     
    +
    DataSource - Enum Class in com.tractrac.model.lib.api.event
    The datasource used to load data
    -
    dataSourceChanged(long, IRace, DataSource, URI, URI) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    +
    dataSourceChanged(long, IRace, DataSource, URI, URI) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    It is thrown when the datasource has changed
    -
    deleteCache() - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    DCT - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    deleteCache() - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    Deletes all the cached objects that has been created
    -
    deleteCompetitor(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    -
    Delete a competitor from the event
    -
    -
    deleteCompetitor(long, UUID) - Method in interface com.tractrac.subscription.lib.api.competitor.ICompetitorsListener
    +
    deleteCompetitor(long, UUID) - Method in interface com.tractrac.subscription.lib.api.competitor.ICompetitorsListener
    A competitor has been removed from the event
    -
    deleteControl(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    deleteCompetitor(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    +
    Delete a competitor from the event
    +
    +
    deleteControl(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    Delete a control from the event
    -
    deleteMapItem(long, UUID) - Method in interface com.tractrac.subscription.lib.api.map.IMapItemsListener
    +
    deleteMapItem(long, UUID) - Method in interface com.tractrac.subscription.lib.api.map.IMapItemsListener
    A control has been removed from the event
    -
    deleteRace(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    -
    Delete a race from the event
    -
    -
    deleteRace(long, UUID) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    +
    deleteRace(long, UUID) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    A race has been removed from the event
    -
    deleteRaceCompetitor(UUID) - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    deleteRace(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    Delete a race competitor from the race
    +
    Delete a race from the event
    -
    deleteRaceCompetitor(long, UUID) - Method in interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener
    +
    deleteRaceCompetitor(long, UUID) - Method in interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener
    This event is thrown when a new competitor has been removed from a race
    -
    distance(ICoordinate) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    +
    deleteRaceCompetitor(UUID) - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    +
    Delete a race competitor from the race
    +
    +
    Disconnected - Enum constant in enum class com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType
    +
    +
    The live connection has been disconnected
    +
    +
    DISQUALIFIED - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    distance(ICoordinate) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    Gets the distance between two coordinates
    -
    distance(ICoordinate, ICoordinate) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    +
    distance(ICoordinate, ICoordinate) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    Gets the distance between a point and a line
    -
    distanceSq(ICoordinate) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    +
    distanceSq(ICoordinate) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    Gets the square of the distance between two coordinates.
    +
    DNC - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    DNE - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    DNF - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    DONT_RACE - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    - - - -

    E

    -
    -
    EventType - Enum in com.tractrac.model.lib.api.event
    +

    E

    +
    +
    End - Enum constant in enum class com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type
    +
    +
    This type is used at the end of the stored connection.
    +
    +
    Error - Enum constant in enum class com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType
    +
    +
    There is an error in the live connection
    +
    +
    Error - Enum constant in enum class com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type
    +
    +
    There is an error in the stored connection.
    +
    +
    EventType - Enum Class in com.tractrac.model.lib.api.event
    The type of the event, according with the EventManager
    - - - -

    F

    -
    -
    fromInteger(int) - Static method in enum com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +

    F

    +
    +
    FILE_MTB - Enum constant in enum class com.tractrac.model.lib.api.event.DataSource
     
    -
    fromInteger(int) - Static method in enum com.tractrac.model.lib.api.event.RaceStatusType
    +
    FIN - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
     
    -
    fromInteger(int) - Static method in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +
    FINISH_CONFIRMED - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
     
    -
    fromInteger(int) - Static method in enum com.tractrac.model.lib.api.map.MapItemType
    +
    FirstControl - Enum constant in enum class com.tractrac.model.lib.api.event.StartTimeType
    +
    +
    Use time of first control rounding
    +
    +
    fromInteger(int) - Static method in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
     
    -
    fromString(String) - Static method in enum com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
    fromInteger(int) - Static method in enum class com.tractrac.model.lib.api.event.RaceStatusType
     
    -
    fromString(String) - Static method in enum com.tractrac.model.lib.api.event.RaceStatusType
    +
    fromInteger(int) - Static method in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
     
    -
    fromString(String) - Static method in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +
    fromInteger(int) - Static method in enum class com.tractrac.model.lib.api.map.MapItemType
     
    -
    fromString(String) - Static method in enum com.tractrac.model.lib.api.map.MapItemType
    +
    fromString(String) - Static method in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    fromString(String) - Static method in enum class com.tractrac.model.lib.api.event.RaceStatusType
    +
     
    +
    fromString(String) - Static method in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    +
     
    +
    fromString(String) - Static method in enum class com.tractrac.model.lib.api.map.MapItemType
     
    - - - -

    G

    -
    -
    getAttachment(IAttachmentKey) - Method in class com.tractrac.model.lib.api.attachment.AbstractAttachable
    +

    G

    +
    +
    GENERAL_RECALL - Enum constant in enum class com.tractrac.model.lib.api.event.RaceStatusType
     
    -
    getAttachment(IAttachmentKey) - Method in interface com.tractrac.model.lib.api.attachment.IAttachable
    +
    getAttachment(IAttachmentKey) - Method in class com.tractrac.model.lib.api.attachment.AbstractAttachable
    +
     
    +
    getAttachment(IAttachmentKey) - Method in interface com.tractrac.model.lib.api.attachment.IAttachable
    Fetches custom data for this object.
    -
    getAttachmentManager() - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    getAttachmentManager() - Static method in class com.tractrac.model.lib.api.ModelLocator
    Used to get the instance of the IAttachmentManager class.
    -
    getBlob() - Method in interface com.tractrac.model.lib.api.data.IMessageData
    +
    getBlob() - Method in interface com.tractrac.model.lib.api.data.IMessageData
    Returns the binary value of the message, if available, otherwise null.
    -
    getCenterLat() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    +
    getCenterLat() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    Gets the latitude of the center
    -
    getCenterLon() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    +
    getCenterLon() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    Gets the longitude of the center
    -
    getColor() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getColor() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns the color associated with competitor, if any
    -
    getCompetitor(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    -
    Gets the competitor by Id
    -
    -
    getCompetitor() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    +
    getCompetitor() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    Returns the competitor in the race.
    -
    getCompetitorClass() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getCompetitor(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    +
    Gets the competitor by Id
    +
    +
    getCompetitorClass() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns the Competitor Class associated with this Competitor, if any.
    -
    getCompetitorClasses() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getCompetitorClasses() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Returns a collection of the competitor classes of this event.
    -
    getCompetitors() - Method in interface com.tractrac.model.lib.api.event.ICompetitorClass
    +
    getCompetitors() - Method in interface com.tractrac.model.lib.api.event.ICompetitorClass
    Get a list of competitors in the class
    -
    getCompetitors() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getCompetitors() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Returns a collection of the competitors of this event.
    -
    getControl() - Method in interface com.tractrac.model.lib.api.data.IControlPassing
    +
    getControl() - Method in interface com.tractrac.model.lib.api.data.IControlPassing
    Returns the control that was passed
    -
    getControls() - Method in interface com.tractrac.model.lib.api.route.IControlRoute
    +
    getControls() - Method in interface com.tractrac.model.lib.api.route.IControlRoute
    The list of controls of a route
    -
    getCoordinate(int) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinateSequence
    +
    getCoordinate(int) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinateSequence
    Returns the coordinate at the specified index.
    -
    getCoordinates() - Method in interface com.tractrac.model.lib.api.route.ISegment
    +
    getCoordinates() - Method in interface com.tractrac.model.lib.api.route.ISegment
    Returns the coordinates that the segment is based on.
    -
    getCourseArea() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getCourseArea() - Method in interface com.tractrac.model.lib.api.event.IRace
     
    -
    getCourseArea() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    +
    getCourseArea() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    Gets the course area of this map item that will be the same course area of all the positioned items that are part of this map item.
    -
    getCourseArea() - Method in interface com.tractrac.model.lib.api.map.IPositionedItem
    +
    getCourseArea() - Method in interface com.tractrac.model.lib.api.map.IPositionedItem
    Gets the course area of this positioned item.
    -
    getDatabase() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getDatabase() - Method in interface com.tractrac.model.lib.api.event.IEvent
    An event has a name and a database name.
    -
    getDataSource() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getDataSource() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the datasource used to retrieve data for the race
    -
    getDefaultRoute() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getDefaultRoute() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the default route
    -
    getDefaultTimeOut() - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    +
    getDefaultTimeOut() - Method in interface com.tractrac.model.lib.api.event.IEventFactory
    Gets the number of milliseconds of the default timeout that has this IEventFactory that is used to download the different resources
    -
    getDescription() - Method in interface com.tractrac.model.lib.api.attachment.IAttachmentKey
    +
    getDescription() - Method in interface com.tractrac.model.lib.api.attachment.IAttachmentKey
    Gets a free text that describes the attachment.
    -
    getDescription() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getDescription() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns a description of the competitor.
    -
    getDescription() - Method in interface com.tractrac.model.lib.api.event.ICompetitorClass
    +
    getDescription() - Method in interface com.tractrac.model.lib.api.event.ICompetitorClass
    Returns a description.
    -
    getDescription() - Method in interface com.tractrac.model.lib.api.event.ITeam
    +
    getDescription() - Method in interface com.tractrac.model.lib.api.event.ITeam
    Returns a description.
    -
    getDimensionAt(int) - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    +
    getDimensionAt(int) - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    Gets a dimension by index (it can be used if the consumer app knows the order of the dimensions.
    -
    getDirection() - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    getDirection() - Method in interface com.tractrac.model.lib.api.data.IPosition
    Returns the direction of the carrier at the time of the position.
    -
    getError() - Method in interface com.tractrac.subscription.lib.api.event.IStoredDataEvent
    +
    getError() - Method in interface com.tractrac.subscription.lib.api.event.IStoredDataEvent
    -
    If the IStoredDataEvent.getType() method returns IStoredDataEvent.Type.Error +
    If the IStoredDataEvent.getType() method returns IStoredDataEvent.Type.Error , this method returns the error message
    -
    getErrorMsgs() - Method in interface com.tractrac.subscription.lib.api.event.ILiveDataEvent
    +
    getErrorMsgs() - Method in interface com.tractrac.subscription.lib.api.event.ILiveDataEvent
    -
    If the ILiveDataEvent.getStatusType() method returns +
    If the ILiveDataEvent.getStatusType() method returns ILiveDataEvent.StatusType.Error, this method returns the error message.
    -
    getEvent() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getEvent() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the event that contains the race
    -
    getEventEndTime() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getEventEndTime() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Returns the event end time
    -
    getEventFactory() - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    getEventFactory() - Static method in class com.tractrac.model.lib.api.ModelLocator
    Used to get the instance of the IEventFactory class.
    -
    getEventStartTime() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getEventStartTime() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Returns the event start time
    -
    getEventType() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getEventType() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Gets the type of the event
    -
    getEventTypeByName(String) - Static method in enum com.tractrac.model.lib.api.event.EventType
    +
    getEventTypeByName(String) - Static method in enum class com.tractrac.model.lib.api.event.EventType
    Gets an event type from a description (used in the web site)
    -
    getEventTypeByUUID(String) - Static method in enum com.tractrac.model.lib.api.event.EventType
    +
    getEventTypeByUUID(String) - Static method in enum class com.tractrac.model.lib.api.event.EventType
    Gets the event type, depending on the UUID.
    -
    getExpectedRaceStartDate() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getExpectedRaceStartDate() - Method in interface com.tractrac.model.lib.api.event.IRace
    It returns the expected date when the race starts.
    -
    getExtent() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getExtent() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the extent where the race is going to be celebrated
    -
    getExtent() - Method in interface com.tractrac.model.lib.api.route.IRoute
    +
    getExtent() - Method in interface com.tractrac.model.lib.api.route.IRoute
    Gets the extent of the route
    -
    getExtent() - Method in interface com.tractrac.model.lib.api.route.ISegment
    +
    getExtent() - Method in interface com.tractrac.model.lib.api.route.ISegment
    Gets the segment's extent
    -
    getFirstName() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getFirstName() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    -
    Deprecated.
    +
    Deprecated.
    -
    getHACC() - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    getHACC() - Method in interface com.tractrac.model.lib.api.data.IPosition
    Horizontal Accuracy (HACC) represents the error of measured position compared to the absolute position of the receiver projected in the horizontal plane.
    -
    getHandicapToD() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getHandicapToD() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Gets the ToD (Time on Distance) handicap
    -
    getHandicapToT() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getHandicapToT() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Gets the ToT (Time in Time) handicap
    -
    getHeel() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    +
    getHeel() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    Gets the heel, defined as the tilting rotation of a vessel about its longitudinal/X (front-back or bow-stern) axis.
    -
    getHeight() - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    +
    getHeight() - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    Returns the height/altitude of the position.
    -
    getHeight() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
    +
    getHeight() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
     
    -
    getIcon() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getIcon() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns the icon associated with competitor, if any.
    -
    getIcon() - Method in interface com.tractrac.model.lib.api.event.ITeam
    +
    getIcon() - Method in interface com.tractrac.model.lib.api.event.ITeam
    Returns the icon associated with team, if any.
    -
    getId() - Method in interface com.tractrac.model.lib.api.IIdentifiable
    +
    getId() - Method in interface com.tractrac.model.lib.api.IIdentifiable
    Returns the unique id of this object.
    -
    getIndex() - Method in interface com.tractrac.model.lib.api.attachment.IAttachmentKey
    +
    getIndex() - Method in interface com.tractrac.model.lib.api.attachment.IAttachmentKey
    Gets the index of the attachment.
    -
    getKeys(Class<? extends IAttachable>) - Method in interface com.tractrac.model.lib.api.attachment.IAttachmentManager
    +
    getKeys(Class<? extends IAttachable>) - Method in interface com.tractrac.model.lib.api.attachment.IAttachmentManager
    It returns all the IAttachmentKey's for an specified IAttachable class.
    -
    getKind() - Method in interface com.tractrac.model.lib.api.data.IMessageData
    +
    getKind() - Method in interface com.tractrac.model.lib.api.data.IMessageData
    Returns the kind id integer for this message object.
    -
    getLastName() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getLastName() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns the last name of the competitor.
    -
    getLatitude() - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    +
    getLatitude() - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    Returns the latitude coordinate of the position.
    -
    getLatitude() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
    +
    getLatitude() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
     
    -
    getLength() - Method in interface com.tractrac.model.lib.api.route.IRoute
    +
    getLength() - Method in interface com.tractrac.model.lib.api.route.IRoute
    Returns the length of the route.
    -
    getLiveDelay() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getLiveDelay() - Method in interface com.tractrac.model.lib.api.event.IRace
    Returns the live delay in seconds.
    -
    getLiveURI() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getLiveURI() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Gets the live URI of this event.
    -
    getLiveURI() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getLiveURI() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the live URI of this race.
    -
    getLongitude() - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    +
    getLongitude() - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    Returns the longitude coordinate of the position.
    -
    getLongitude() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
    +
    getLongitude() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
     
    -
    getLRLat() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    +
    getLRLat() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    Gets the latitude of the lower right corner
    -
    getLRLon() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    +
    getLRLon() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    Gets the longitude of the lower right corner
    -
    getM() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    +
    getM() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    The value of the m coordinate
    -
    getM() - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    +
    getM() - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    Returns the m coordinate (in meters)
    -
    getM() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
    +
    getM() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
     
    -
    getMapItem(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getMapItem(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    Gets the map item by Id
    -
    getMapItems() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getMapItems() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Returns a collection of all the map items in this event.
    -
    getMapItemType() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    +
    getMapItemType() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    Gets the map item type
    -
    getMapName() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    +
    getMapName() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    Gets the name that has to be displayed in the map
    -
    getMessage() - Method in exception com.tractrac.model.lib.api.event.CreateModelException
    +
    getMessage() - Method in exception class com.tractrac.model.lib.api.event.CreateModelException
     
    -
    getMessage() - Method in exception com.tractrac.subscription.lib.api.SubscriberInitializationException
    +
    getMessage() - Method in exception class com.tractrac.subscription.lib.api.SubscriberInitializationException
     
    -
    getMessageData() - Method in interface com.tractrac.subscription.lib.api.event.IMessage
    +
    getMessageData() - Method in interface com.tractrac.subscription.lib.api.event.IMessage
    The message associated to the event
    -
    getMetadata() - Method in interface com.tractrac.model.lib.api.metadata.IMetadataContainer
    +
    getMetadata() - Method in interface com.tractrac.model.lib.api.metadata.IMetadataContainer
    Returns the metadata associated with this object.
    -
    getMetadataFactory() - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    getMetadataFactory() - Static method in class com.tractrac.model.lib.api.ModelLocator
    Used to get the instance of the IMetadataFactory class.
    -
    getName() - Method in interface com.tractrac.model.lib.api.INamed
    +
    getName() - Method in interface com.tractrac.model.lib.api.INamed
    Returns the name associated with this object
    -
    getNationality() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getNationality() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns the nationality associated with this competitor.
    -
    getNationality() - Method in interface com.tractrac.model.lib.api.event.ITeam
    +
    getNationality() - Method in interface com.tractrac.model.lib.api.event.ITeam
    Returns the nationality.
    -
    getObject() - Method in interface com.tractrac.model.lib.api.data.IMessageData
    +
    getObject() - Method in interface com.tractrac.model.lib.api.data.IMessageData
    Returns the object related with this message (if exists)
    -
    getOfficialFinishTime() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    +
    getOfficialFinishTime() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    Gets the official finish time when it is defined.
    -
    getOfficialRank() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    +
    getOfficialRank() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    Gets the official rank when it is defined.
    -
    getOffset() - Method in interface com.tractrac.model.lib.api.data.IPositionOffset
    +
    getOffset() - Method in interface com.tractrac.model.lib.api.data.IPositionOffset
    Returns the offset from the start of the line/route
    -
    getParameterSet() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getParameterSet() - Method in interface com.tractrac.model.lib.api.event.IRace
    Returns the parameters used to create this event.
    -
    getParamsURI() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getParamsURI() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the parameters file used to load this race
    -
    getPassings() - Method in interface com.tractrac.model.lib.api.data.IControlPassings
    +
    getPassings() - Method in interface com.tractrac.model.lib.api.data.IControlPassings
    Returns a list of control passings sorted by time.
    -
    getPathRouteFactory() - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    getPathRouteFactory() - Static method in class com.tractrac.model.lib.api.ModelLocator
    Used to get the instance of the IPathRouteFactory class.
    -
    getPicture() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getPicture() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns the picture associated with competitor, if any
    -
    getPicture() - Method in interface com.tractrac.model.lib.api.event.ITeam
    +
    getPicture() - Method in interface com.tractrac.model.lib.api.event.ITeam
    Returns the picture associated with team, if any
    -
    getPositionedItem(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getPositionedItem(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    Gets the positioned item by Id
    -
    getPositionedItems() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getPositionedItems() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Returns a collection of all the positioned items in this event.
    -
    getPositionedItems() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    +
    getPositionedItems() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    Gets the list of positioned items contained by this map item.
    -
    getPositionFactory() - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    getPositionFactory() - Static method in class com.tractrac.model.lib.api.ModelLocator
    Used to get the instance of the IPositionFactory class.
    -
    getPositions() - Method in interface com.tractrac.model.lib.api.map.IPositionedItem
    +
    getPositions() - Method in interface com.tractrac.model.lib.api.map.IPositionedItem
    Only if the positioned item is static, this method returns the static positions attached to this object.
    -
    getProgress() - Method in interface com.tractrac.subscription.lib.api.event.IStoredDataEvent
    +
    getProgress() - Method in interface com.tractrac.subscription.lib.api.event.IStoredDataEvent
    -
    If the IStoredDataEvent.getType() method returns +
    If the IStoredDataEvent.getType() method returns IStoredDataEvent.Type.Progress, this method returns the percentage of data loaded.
    -
    getProperty(String) - Method in interface com.tractrac.model.lib.api.metadata.IPropertiesContainer
    +
    getProperty(String) - Method in interface com.tractrac.model.lib.api.metadata.IPropertiesContainer
    Returns a property attached to the object
    -
    getProperty(String, int) - Method in interface com.tractrac.model.lib.api.route.IControlRoute
    +
    getProperty(String, int) - Method in interface com.tractrac.model.lib.api.route.IControlRoute
    Returns a property attached to the object
    -
    getRace(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    -
    Gets the race by Id
    -
    -
    getRace() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    +
    getRace() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    Returns the race that contains this race competitor
    -
    getRaceCompetitor(UUID) - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getRace(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    +
    Gets the race by Id
    +
    +
    getRaceCompetitor(UUID) - Method in interface com.tractrac.model.lib.api.event.IRace
    Returns a race competitor by competitor id
    -
    getRaceCompetitors() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getRaceCompetitors() - Method in interface com.tractrac.model.lib.api.event.IRace
    Returns the competitors that participate in this race.
    -
    getRaceEndTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getRaceEndTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    End time of race.
    -
    getRaces() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getRaces() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Returns a collection of the races of this event.
    -
    getRaces() - Method in interface com.tractrac.model.lib.api.event.IRaceSerie
    +
    getRaces() - Method in interface com.tractrac.model.lib.api.event.IRaceSerie
    Gets the list of races that compose the serie
    -
    getRaceSerie() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getRaceSerie() - Method in interface com.tractrac.model.lib.api.event.IRace
    If the race is a part of a serie.
    -
    getRaceSeries() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getRaceSeries() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Gets the list of race series of this event
    -
    getRaceStartTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getRaceStartTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    Start time of race.
    -
    getRaw() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    +
    getRaw() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    Gets the sensor data in a raw format.
    -
    getRideHeightPort() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    +
    getRideHeightPort() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    Gets the perpendicular distance from the bottom of the port-hull to the water surface.
    -
    getRideHeightStarboard() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    +
    getRideHeightStarboard() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    Gets the perpendicular distance from the bottom of the starboard-hull to the water surface.
    -
    getRoute(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    -
    Gets the route by Id
    -
    -
    getRoute() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    +
    getRoute() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    Returns the route that this competitor is assigned to, if any.
    -
    getRoutes() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getRoute(UUID) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    +
    Gets the route by Id
    +
    +
    getRoutes() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Returns a collection of the routes of this event.
    -
    getRoutes() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getRoutes() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the routes of this race
    -
    getRTKStatus() - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    getRTKStatus() - Method in interface com.tractrac.model.lib.api.data.IPosition
    Gets the status of the RTK connection.
    -
    getSegment() - Method in interface com.tractrac.model.lib.api.route.IPathSegment
    +
    getSegment() - Method in interface com.tractrac.model.lib.api.route.IPathSegment
    Returns the segment in this route segment.
    -
    getSegmentIndex() - Method in interface com.tractrac.model.lib.api.route.IPathSegment
    +
    getSegmentIndex() - Method in interface com.tractrac.model.lib.api.route.IPathSegment
    Returns the index of this route segment in the route.
    -
    getSegments() - Method in interface com.tractrac.model.lib.api.route.IPathRoute
    +
    getSegments() - Method in interface com.tractrac.model.lib.api.route.IPathRoute
    Returns the segments in the route.
    -
    getShortName() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getShortName() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns the short name associated with this competitor.
    -
    getShortName() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    +
    getShortName() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    Gets the short name of the map item ([0-2] characters)
    -
    getSpeed() - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    getSpeed() - Method in interface com.tractrac.model.lib.api.data.IPosition
    Returns the speed of the carrier at the time of the position.
    -
    getStartOffset() - Method in interface com.tractrac.model.lib.api.route.IPathSegment
    +
    getStartOffset() - Method in interface com.tractrac.model.lib.api.route.IPathSegment
    Return the start offset of the segment that this route segment refers to.
    -
    getStartTime() - Method in interface com.tractrac.model.lib.api.data.IStartStopData
    +
    getStartTime() - Method in interface com.tractrac.model.lib.api.data.IStartStopData
    Returns the start time.
    -
    getStartTime() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    +
    getStartTime() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    Returns the start time of this competitor.
    -
    getStartTime(String) - Static method in enum com.tractrac.model.lib.api.event.StartTimeType
    +
    getStartTime(String) - Static method in enum class com.tractrac.model.lib.api.event.StartTimeType
    Gets the start time type from a string
    -
    getStartTimeType() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getStartTimeType() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the start time type of the race.
    -
    getStatus() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getStatus() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the status of the race that can be: @@ -1003,117 +1027,117 @@ POSTPONED: Race postponed, restart unknown
    -
    getStatus() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    +
    getStatus() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    Gets the current competitor status.
    -
    getStatusLastChangedTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getStatusLastChangedTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the time stamp when the race status returned by {this.getStatus} was updated
    -
    getStatusLastChangedTime() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    +
    getStatusLastChangedTime() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    Gets the time stamp when the race competitor status returned by {this.getStatus} was updated
    -
    getStatusTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getStatusTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    The value returned in {this.getStatus} is applicable from this timestamp.
    -
    getStatusTime() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    +
    getStatusTime() - Method in interface com.tractrac.model.lib.api.event.IRaceCompetitor
    When the status is one of: ABANDONED, RETIRED or DISQUALIFIED it contains when the competitor has changed to this state.
    -
    getStatusType() - Method in interface com.tractrac.subscription.lib.api.event.ILiveDataEvent
    +
    getStatusType() - Method in interface com.tractrac.subscription.lib.api.event.ILiveDataEvent
    Gets the status of the connection
    -
    getStopTime() - Method in interface com.tractrac.model.lib.api.data.IStartStopData
    +
    getStopTime() - Method in interface com.tractrac.model.lib.api.data.IStartStopData
    Returns the stop time.
    -
    getStoredURI() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getStoredURI() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Gets the stored URI of this event.
    -
    getStoredURI() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getStoredURI() - Method in interface com.tractrac.model.lib.api.event.IRace
    Gets the stored URI of this race.
    -
    getSusbcriberFactory() - Static method in class com.tractrac.subscription.lib.api.SubscriptionLocator
    +
    getSusbcriberFactory() - Static method in class com.tractrac.subscription.lib.api.SubscriptionLocator
    Used to get the instance of the ISubscriberFactory class.
    -
    getTeam() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    getTeam() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns the Competitor Class associated with this Competitor, if any.
    -
    getTeams() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getTeams() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Returns a collection of the teams of this event.
    -
    getText() - Method in interface com.tractrac.model.lib.api.data.IMessageData
    +
    getText() - Method in interface com.tractrac.model.lib.api.data.IMessageData
    Returns the text value of the message, if available, otherwise null.
    -
    getText() - Method in interface com.tractrac.model.lib.api.metadata.IMetadata
    +
    getText() - Method in interface com.tractrac.model.lib.api.metadata.IMetadata
    Returns the metadata like a text value.
    -
    getTimestamp() - Method in interface com.tractrac.model.lib.api.data.ITimeData
    +
    getTimestamp() - Method in interface com.tractrac.model.lib.api.data.ITimeData
    Returns the time stamp of the data.
    -
    getTimestamp() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
    +
    getTimestamp() - Method in interface com.tractrac.model.lib.api.spatial.ISimplePosition
     
    -
    getTrackingEndTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getTrackingEndTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    End of tracking time when the trackers have stopped to send positions.
    -
    getTrackingStartTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getTrackingStartTime() - Method in interface com.tractrac.model.lib.api.event.IRace
    Start of tracking time can be set before start of race time in case it is interesting to follow what happens up til the start time of the race.
    -
    getTrim() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    +
    getTrim() - Method in interface com.tractrac.model.lib.api.sensor.ISensorData
    Gets the trim, defined as the up/down rotation of a vessel about its lateral/Y (side-to-side or port-starboard) axis.
    -
    getTrueHeading() - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    getTrueHeading() - Method in interface com.tractrac.model.lib.api.data.IPosition
    Returns the true heading at the time of the position.
    -
    getType() - Method in interface com.tractrac.subscription.lib.api.event.IStoredDataEvent
    +
    getType() - Method in interface com.tractrac.subscription.lib.api.event.IStoredDataEvent
    Gets the type of the stored data message.
    -
    getULLat() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    +
    getULLat() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    Gets the latitude of the upper left corner
    -
    getULLon() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    +
    getULLon() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    Gets the longitude of the upper left corner
    -
    getUuid() - Method in enum com.tractrac.model.lib.api.event.EventType
    +
    getUuid() - Method in enum class com.tractrac.model.lib.api.event.EventType
     
    -
    getValue() - Method in enum com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
    getValue() - Method in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
     
    -
    getValue() - Method in enum com.tractrac.model.lib.api.event.RaceStatusType
    +
    getValue() - Method in enum class com.tractrac.model.lib.api.event.RaceStatusType
     
    -
    getValue() - Method in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +
    getValue() - Method in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
     
    -
    getValue() - Method in enum com.tractrac.model.lib.api.map.MapItemType
    +
    getValue() - Method in enum class com.tractrac.model.lib.api.map.MapItemType
     
    -
    getVisibility() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    getVisibility() - Method in interface com.tractrac.model.lib.api.event.IRace
    According to the event manager, the visibility of the race can be: @@ -1122,1081 +1146,1077 @@ Online: the race is visible and accessible
    -
    getWebURL() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    getWebURL() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Gets the web URL
    -
    getX() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    +
    getX() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    The value of the x coordinate
    -
    getY() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    +
    getY() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    The value of the y coordinate
    -
    getZ() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    +
    getZ() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinate
    The value of the z coordinate
    -
    gotControlPassings(long, IRaceCompetitor, IControlPassings) - Method in interface com.tractrac.subscription.lib.api.control.IControlPassingsListener
    +
    gotControlPassings(long, IRaceCompetitor, IControlPassings) - Method in interface com.tractrac.subscription.lib.api.control.IControlPassingsListener
    Invoked when a new control passing result arrives
    -
    gotEventMessage(IEvent, IMessageData) - Method in interface com.tractrac.subscription.lib.api.event.IEventMessageListener
    +
    gotEventMessage(IEvent, IMessageData) - Method in interface com.tractrac.subscription.lib.api.event.IEventMessageListener
    Invoked when a new event message arrives
    -
    gotLiveDataEvent(ILiveDataEvent) - Method in interface com.tractrac.subscription.lib.api.event.IConnectionStatusListener
    +
    gotLiveDataEvent(ILiveDataEvent) - Method in interface com.tractrac.subscription.lib.api.event.IConnectionStatusListener
    Invoked when an update in the live data status occurs.
    -
    gotPosition(IRaceCompetitor, IPosition) - Method in interface com.tractrac.subscription.lib.api.competitor.IPositionListener
    +
    gotPosition(IRaceCompetitor, IPosition) - Method in interface com.tractrac.subscription.lib.api.competitor.IPositionListener
    Invoked when a new position arrives
    -
    gotPositionedItemPosition(IPositionedItem, IPosition) - Method in interface com.tractrac.subscription.lib.api.map.IPositionedItemPositionListener
    +
    gotPositionedItemPosition(IPositionedItem, IPosition) - Method in interface com.tractrac.subscription.lib.api.map.IPositionedItemPositionListener
    Invoked when a new position for a control point arrives.
    -
    gotPositionOffset(IRaceCompetitor, IPositionOffset) - Method in interface com.tractrac.subscription.lib.api.competitor.IPositionOffsetListener
    +
    gotPositionOffset(IRaceCompetitor, IPositionOffset) - Method in interface com.tractrac.subscription.lib.api.competitor.IPositionOffsetListener
    Invoked when a new position arrives
    -
    gotPositionSnapped(IRaceCompetitor, IPositionSnapped) - Method in interface com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener
    +
    gotPositionSnapped(IRaceCompetitor, IPositionSnapped) - Method in interface com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener
    Invoked when a new snapped position arrives
    -
    gotRaceMessage(IRace, IMessageData) - Method in interface com.tractrac.subscription.lib.api.race.IRaceMessageListener
    +
    gotRaceMessage(IRace, IMessageData) - Method in interface com.tractrac.subscription.lib.api.race.IRaceMessageListener
    Invoked when a new race message arrives
    -
    gotRaceStartStopTime(IRace, IStartStopData) - Method in interface com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener
    +
    gotRaceStartStopTime(IRace, IStartStopData) - Method in interface com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener
    Invoked when an update in the race start and/or stop time occurs.
    -
    gotRouteChange(IControlRoute, long) - Method in interface com.tractrac.subscription.lib.api.control.IControlRouteChangeListener
    +
    gotRouteChange(IControlRoute, long) - Method in interface com.tractrac.subscription.lib.api.control.IControlRouteChangeListener
    Invoked when updates to a control route arrives
    -
    gotRouteChange(IPathRoute, long) - Method in interface com.tractrac.subscription.lib.api.control.IControlRouteChangeListener
    +
    gotRouteChange(IPathRoute, long) - Method in interface com.tractrac.subscription.lib.api.control.IControlRouteChangeListener
    Invoked when updates to a path route arrives
    -
    gotSensorData(IRaceCompetitor, ISensorData) - Method in interface com.tractrac.subscription.lib.api.competitor.ICompetitorSensorDataListener
    +
    gotSensorData(IRaceCompetitor, ISensorData) - Method in interface com.tractrac.subscription.lib.api.competitor.ICompetitorSensorDataListener
    Invoked when a sensor data arrives
    -
    gotSensorData(IMapItem, ISensorData, int) - Method in interface com.tractrac.subscription.lib.api.control.IControlPointSensorDataListener
    +
    gotSensorData(IMapItem, ISensorData, int) - Method in interface com.tractrac.subscription.lib.api.control.IControlPointSensorDataListener
    Invoked when a sensor data for a control point arrives.
    -
    gotServerTime(long, long) - Method in interface com.tractrac.subscription.lib.api.event.IServerTimeListener
    +
    gotServerTime(long, long) - Method in interface com.tractrac.subscription.lib.api.event.IServerTimeListener
    This event is thrown when a new server time event arrives from the server
    -
    gotStartStopTime(IStartStopData) - Method in interface com.tractrac.subscription.lib.api.race.IStartStopTimesChangeListener
    +
    gotStartStopTime(IStartStopData) - Method in interface com.tractrac.subscription.lib.api.race.IStartStopTimesChangeListener
    Invoked when an update in the start and/or stop time occurs.
    -
    gotStoredDataEvent(IStoredDataEvent) - Method in interface com.tractrac.subscription.lib.api.event.IConnectionStatusListener
    +
    gotStoredDataEvent(IStoredDataEvent) - Method in interface com.tractrac.subscription.lib.api.event.IConnectionStatusListener
    Invoked when an update in the stored data status occurs.
    -
    gotTrackingStartStopTime(IRace, IStartStopData) - Method in interface com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener
    +
    gotTrackingStartStopTime(IRace, IStartStopData) - Method in interface com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener
    Invoked when an update in the tracking start and/or stop time occurs.
    - - - -

    H

    -
    -
    HIDDEN_STR - Static variable in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +

    H

    +
    +
    HIDDEN - Enum constant in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    +
     
    +
    HIDDEN_STR - Static variable in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
     
    - - - -

    I

    -
    -
    IAttachable - Interface in com.tractrac.model.lib.api.attachment
    +

    I

    +
    +
    IAttachable - Interface in com.tractrac.model.lib.api.attachment
    This interface adds functionality for attaching custom data to an object.
    -
    IAttachmentKey - Interface in com.tractrac.model.lib.api.attachment
    +
    IAttachmentKey - Interface in com.tractrac.model.lib.api.attachment
    An attachment key is used as a key to save a new attachment.
    -
    IAttachmentManager - Interface in com.tractrac.model.lib.api.attachment
    +
    IAttachmentManager - Interface in com.tractrac.model.lib.api.attachment
    Manager interface for creation of IAttachementKey for use with the IAttachable interface.
    -
    ICompetitor - Interface in com.tractrac.model.lib.api.event
    +
    ICompetitor - Interface in com.tractrac.model.lib.api.event
    Encapsulates data related to a Competitor of an Event.
    -
    ICompetitorClass - Interface in com.tractrac.model.lib.api.event
    +
    ICompetitorClass - Interface in com.tractrac.model.lib.api.event
    Encapsulates data related to a Competitor Class in an Event.
    -
    ICompetitorSensorDataListener - Interface in com.tractrac.subscription.lib.api.competitor
    +
    ICompetitorSensorDataListener - Interface in com.tractrac.subscription.lib.api.competitor
    The listener interface for receiving events whenever a sensor data arrives for a competitor.
    -
    ICompetitorsListener - Interface in com.tractrac.subscription.lib.api.competitor
    +
    ICompetitorsListener - Interface in com.tractrac.subscription.lib.api.competitor
    This listener is used to receive events related with the competitor list.
    -
    IConnectionStatusListener - Interface in com.tractrac.subscription.lib.api.event
    +
    IConnectionStatusListener - Interface in com.tractrac.subscription.lib.api.event
    The listener interface for receiving events for the stored and live data handler.
    -
    IControlPassing - Interface in com.tractrac.model.lib.api.data
    +
    IControlPassing - Interface in com.tractrac.model.lib.api.data
    A control passing is a combination of a time and a control, usually the time where a competitor passed a control of a control route.
    -
    IControlPassings - Interface in com.tractrac.model.lib.api.data
    +
    IControlPassings - Interface in com.tractrac.model.lib.api.data
    A set of control passings, usually associated with a route (IControlRoute)
    -
    IControlPassingsListener - Interface in com.tractrac.subscription.lib.api.control
    +
    IControlPassingsListener - Interface in com.tractrac.subscription.lib.api.control
    The listener interface for receiving events whenever a new control passings result arrives for a competitor.
    -
    IControlPointSensorDataListener - Interface in com.tractrac.subscription.lib.api.control
    +
    IControlPointSensorDataListener - Interface in com.tractrac.subscription.lib.api.control
    The listener interface for receiving events whenever a sensor data arrives for a control.
    -
    IControlRoute - Interface in com.tractrac.model.lib.api.route
    +
    IControlRoute - Interface in com.tractrac.model.lib.api.route
    A route based on a number of controls/waypoints/control points.
    -
    IControlRouteChangeListener - Interface in com.tractrac.subscription.lib.api.control
    +
    IControlRouteChangeListener - Interface in com.tractrac.subscription.lib.api.control
    The listener interface for receiving events whenever a control route is changed.
    -
    ICoordinate - Interface in com.tractrac.model.lib.api.spatial
    +
    ICoordinate - Interface in com.tractrac.model.lib.api.spatial
    A raw coordinate.
    -
    ICoordinateSequence - Interface in com.tractrac.model.lib.api.spatial
    +
    ICoordinateSequence - Interface in com.tractrac.model.lib.api.spatial
    A sequence of points connected by straight lines (line segments)
    -
    IEvent - Interface in com.tractrac.model.lib.api.event
    +
    IEvent - Interface in com.tractrac.model.lib.api.event
    Encapsulates data related to an Event: Races, Competitors, Competitor Classes, Routes.
    -
    IEventFactory - Interface in com.tractrac.model.lib.api.event
    +
    IEventFactory - Interface in com.tractrac.model.lib.api.event
    Factory used to create an IEvent.
    -
    IEventMessageListener - Interface in com.tractrac.subscription.lib.api.event
    +
    IEventMessageListener - Interface in com.tractrac.subscription.lib.api.event
    The listener interface for receiving events whenever a new message arrives.
    -
    IEventSubscriber - Interface in com.tractrac.subscription.lib.api
    +
    IEventSubscriber - Interface in com.tractrac.subscription.lib.api
    Class that handles subscription to data for one event.
    -
    IExtent - Interface in com.tractrac.model.lib.api.spatial
    +
    IExtent - Interface in com.tractrac.model.lib.api.spatial
    A simple extent
    -
    IGeoCoordinate - Interface in com.tractrac.model.lib.api.spatial
    +
    IGeoCoordinate - Interface in com.tractrac.model.lib.api.spatial
    A geographical coordinate.
    -
    IIdentifiable - Interface in com.tractrac.model.lib.api
    +
    IIdentifiable - Interface in com.tractrac.model.lib.api
    Defines a method to get the Id of an entity.
    -
    ILiveDataEvent - Interface in com.tractrac.subscription.lib.api.event
    +
    ILiveDataEvent - Interface in com.tractrac.subscription.lib.api.event
    This event is used to monitorize the status of the live connection
    -
    ILiveDataEvent.StatusType - Enum in com.tractrac.subscription.lib.api.event
    +
    ILiveDataEvent.StatusType - Enum Class in com.tractrac.subscription.lib.api.event
    The status of the connection
    -
    IMapItem - Interface in com.tractrac.model.lib.api.map
    +
    IMapItem - Interface in com.tractrac.model.lib.api.map
    A tangible object that can be drawn in the viewer.
    -
    IMapItemsListener - Interface in com.tractrac.subscription.lib.api.map
    +
    IMapItemsListener - Interface in com.tractrac.subscription.lib.api.map
    This listener is used to receive events related with the control list.
    -
    IMessage - Interface in com.tractrac.subscription.lib.api.event
    +
    IMessage - Interface in com.tractrac.subscription.lib.api.event
    General message associated to an event
    -
    IMessageData - Interface in com.tractrac.model.lib.api.data
    +
    IMessageData - Interface in com.tractrac.model.lib.api.data
    A generic message object that can transfer messages either as text or as binary large object (blob).
    -
    IMetadata - Interface in com.tractrac.model.lib.api.metadata
    +
    IMetadata - Interface in com.tractrac.model.lib.api.metadata
    This class represents the metadata associated to an object.
    -
    IMetadataContainer - Interface in com.tractrac.model.lib.api.metadata
    +
    IMetadataContainer - Interface in com.tractrac.model.lib.api.metadata
    Implemented by all the classes that support metadata.
    -
    IMetadataFactory - Interface in com.tractrac.model.lib.api.metadata
    +
    IMetadataFactory - Interface in com.tractrac.model.lib.api.metadata
    Factory used to create metadata.
    -
    INamed - Interface in com.tractrac.model.lib.api
    +
    INamed - Interface in com.tractrac.model.lib.api
    Defines a method to get the name of an entity.
    -
    IPathRoute - Interface in com.tractrac.model.lib.api.route
    +
    Individual - Enum constant in enum class com.tractrac.model.lib.api.event.StartTimeType
    +
    +
    Use individual start time, stored in the IRaceCompetitor object.
    +
    +
    IPathRoute - Interface in com.tractrac.model.lib.api.route
    A route based on a number of paths/segments/tracks/lines.
    -
    IPathRouteFactory - Interface in com.tractrac.model.lib.api.route
    +
    IPathRouteFactory - Interface in com.tractrac.model.lib.api.route
    Factory used to create a list of IPathRoute.
    -
    IPathSegment - Interface in com.tractrac.model.lib.api.route
    +
    IPathSegment - Interface in com.tractrac.model.lib.api.route
    A route segment is a part of a segment route.
    -
    IPosition - Interface in com.tractrac.model.lib.api.data
    +
    IPosition - Interface in com.tractrac.model.lib.api.data
    A geographical position in latitude-longitude coordinates, recorded at a certain time.
    -
    IPositionedItem - Interface in com.tractrac.model.lib.api.map
    +
    IPositionedItem - Interface in com.tractrac.model.lib.api.map
    It represents a item with an attached position, either from a tracker or a static location.
    -
    IPositionedItemPositionListener - Interface in com.tractrac.subscription.lib.api.map
    +
    IPositionedItemPositionListener - Interface in com.tractrac.subscription.lib.api.map
    The listener interface for receiving events whenever a new position arrives on a positioned item.
    -
    IPositionFactory - Interface in com.tractrac.model.lib.api.data
    +
    IPositionFactory - Interface in com.tractrac.model.lib.api.data
    Factory used to create IPosition objects.
    -
    IPositionListener - Interface in com.tractrac.subscription.lib.api.competitor
    +
    IPositionListener - Interface in com.tractrac.subscription.lib.api.competitor
    The listener interface for receiving events whenever a new position arrives for a competitor.
    -
    IPositionOffset - Interface in com.tractrac.model.lib.api.data
    +
    IPositionOffset - Interface in com.tractrac.model.lib.api.data
    A position along the route in the form of an offset, recorded at a certain time.
    -
    IPositionOffsetListener - Interface in com.tractrac.subscription.lib.api.competitor
    +
    IPositionOffsetListener - Interface in com.tractrac.subscription.lib.api.competitor
    The listener interface for receiving events whenever a new offset position arrives for a competitor.
    -
    IPositionSnapped - Interface in com.tractrac.model.lib.api.data
    +
    IPositionSnapped - Interface in com.tractrac.model.lib.api.data
    A snapped position is a position along a line or a route.
    -
    IPositionSnappedListener - Interface in com.tractrac.subscription.lib.api.competitor
    +
    IPositionSnappedListener - Interface in com.tractrac.subscription.lib.api.competitor
    The listener interface for receiving events whenever a new snapped position arrives for a competitor
    -
    IPropertiesContainer - Interface in com.tractrac.model.lib.api.metadata
    +
    IPropertiesContainer - Interface in com.tractrac.model.lib.api.metadata
     
    -
    IRace - Interface in com.tractrac.model.lib.api.event
    +
    IRace - Interface in com.tractrac.model.lib.api.event
    Encapsulates data related to a specific Race of a TracTrac Event.
    -
    IRaceCompetitor - Interface in com.tractrac.model.lib.api.event
    +
    IRaceCompetitor - Interface in com.tractrac.model.lib.api.event
    Encapsulates data related to a specific Competitor of a specific Race.
    -
    IRaceCompetitorListener - Interface in com.tractrac.subscription.lib.api.race
    +
    IRaceCompetitorListener - Interface in com.tractrac.subscription.lib.api.race
    This listener is manages the relationship between competitor and race.
    -
    IRaceMessageListener - Interface in com.tractrac.subscription.lib.api.race
    +
    IRaceMessageListener - Interface in com.tractrac.subscription.lib.api.race
    General message associated to a race
    -
    IRaceSerie - Interface in com.tractrac.model.lib.api.event
    +
    IRaceSerie - Interface in com.tractrac.model.lib.api.event
    A serie of races is a list of races that are a part of the same serie.
    -
    IRacesListener - Interface in com.tractrac.subscription.lib.api.race
    +
    IRacesListener - Interface in com.tractrac.subscription.lib.api.race
    This listener is used to receive events related with the race list.
    -
    IRaceStartStopTimesChangeListener - Interface in com.tractrac.subscription.lib.api.race
    +
    IRaceStartStopTimesChangeListener - Interface in com.tractrac.subscription.lib.api.race
    The listener interface for receiving events whenever change in the start and/or stop times of a race occurs.
    -
    IRaceSubscriber - Interface in com.tractrac.subscription.lib.api
    +
    IRaceSubscriber - Interface in com.tractrac.subscription.lib.api
    This interface is used to add subscriptions for a IRace object.
    -
    IRoute - Interface in com.tractrac.model.lib.api.route
    +
    IRoute - Interface in com.tractrac.model.lib.api.route
    A route can be one of: IControlRoute or IPathRoute.
    -
    IRoutesListener - Interface in com.tractrac.subscription.lib.api.route
    +
    IRoutesListener - Interface in com.tractrac.subscription.lib.api.route
    This listener is used to receive events related with the routes.
    -
    ISegment - Interface in com.tractrac.model.lib.api.route
    +
    ISegment - Interface in com.tractrac.model.lib.api.route
    A segment is a part of an IPathRoute.
    -
    isEmpty() - Method in interface com.tractrac.model.lib.api.metadata.IMetadata
    +
    isEmpty() - Method in interface com.tractrac.model.lib.api.metadata.IMetadata
    Returns true if there are not metadata.
    -
    ISensorData - Interface in com.tractrac.model.lib.api.sensor
    +
    ISensorData - Interface in com.tractrac.model.lib.api.sensor
    This interface implements sensor data.
    -
    IServerTimeListener - Interface in com.tractrac.subscription.lib.api.event
    +
    IServerTimeListener - Interface in com.tractrac.subscription.lib.api.event
    Listener used to listen the serever time
    -
    isFavourite() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    isFavourite() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Returns if a competitor is considered favourite.
    -
    isGPSTiming() - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    isGPSTiming() - Method in interface com.tractrac.model.lib.api.data.IPosition
    Returns if the time stamp has been retrieved from a GPS device.
    -
    ISimplePosition - Interface in com.tractrac.model.lib.api.spatial
    +
    ISimplePosition - Interface in com.tractrac.model.lib.api.spatial
     
    -
    isInitialized() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    isInitialized() - Method in interface com.tractrac.model.lib.api.event.IRace
    This value means if the race has been initialized.
    -
    isMultiple() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    +
    isMultiple() - Method in interface com.tractrac.model.lib.api.map.IMapItem
    Flag specifying whether the map item is composed by more than one individual positioned items.
    -
    isNonCompeting() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    +
    isNonCompeting() - Method in interface com.tractrac.model.lib.api.event.ICompetitor
    Gets if the competitor can compete in the races or if it is a non competing competitor
    -
    isReversed() - Method in interface com.tractrac.model.lib.api.route.IPathSegment
    +
    isReversed() - Method in interface com.tractrac.model.lib.api.route.IPathSegment
    Flag specifying whether the segment is part of the route in reverse order, i.e.
    -
    isRunning() - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    +
    isRunning() - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    If the thread created using the start method is running or not
    -
    isStatic() - Method in interface com.tractrac.model.lib.api.map.IPositionedItem
    +
    isStatic() - Method in interface com.tractrac.model.lib.api.map.IPositionedItem
    Flag specifying whether the positioned item is static or dynamic.
    -
    IStartStopData - Interface in com.tractrac.model.lib.api.data
    +
    IStartStopData - Interface in com.tractrac.model.lib.api.data
    A combination of a start and a stop time
    -
    IStartStopTimesChangeListener - Interface in com.tractrac.subscription.lib.api.race
    +
    IStartStopTimesChangeListener - Interface in com.tractrac.subscription.lib.api.race
    The listener interface for receiving events whenever change in the start and/or stop times occurs.
    -
    IStoredDataEvent - Interface in com.tractrac.subscription.lib.api.event
    +
    IStoredDataEvent - Interface in com.tractrac.subscription.lib.api.event
    This event is used to monitorize the status of the stored connection
    -
    IStoredDataEvent.Type - Enum in com.tractrac.subscription.lib.api.event
    +
    IStoredDataEvent.Type - Enum Class in com.tractrac.subscription.lib.api.event
    The type of message
    -
    ISubscriber - Interface in com.tractrac.subscription.lib.api
    +
    ISubscriber - Interface in com.tractrac.subscription.lib.api
    Subscriber to receive events from a datasource.
    -
    ISubscriberFactory - Interface in com.tractrac.subscription.lib.api
    +
    ISubscriberFactory - Interface in com.tractrac.subscription.lib.api
    Factory used to create ISubscribers.
    -
    ISubscriberListener - Interface in com.tractrac.subscription.lib.api
    +
    ISubscriberListener - Interface in com.tractrac.subscription.lib.api
    All the listeners that are used for the consumer application in order to receive events from the server side have to implemented this interface.
    -
    isValid() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    +
    isValid() - Method in interface com.tractrac.model.lib.api.spatial.IExtent
    If the extent is valid or not
    -
    ITeam - Interface in com.tractrac.model.lib.api.event
    +
    ITeam - Interface in com.tractrac.model.lib.api.event
    Encapsulates data related to a Team of an Event.
    -
    ITimeData - Interface in com.tractrac.model.lib.api.data
    +
    ITimeData - Interface in com.tractrac.model.lib.api.data
    A base interface for data classes that are related to a point in time
    - - - -

    L

    -
    -
    loadRaces() - Method in interface com.tractrac.model.lib.api.event.IEvent
    +

    L

    +
    +
    loadRaces() - Method in interface com.tractrac.model.lib.api.event.IEvent
    Load the races using the JSON for the races
    -
    locateAlong(double) - Method in interface com.tractrac.model.lib.api.route.IPathRoute
    +
    locateAlong(double) - Method in interface com.tractrac.model.lib.api.route.IPathRoute
    Locate a coordinate along the route at the specified m offset value
    -
    locateAlong(double) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinateSequence
    +
    locateAlong(double) - Method in interface com.tractrac.model.lib.api.spatial.ICoordinateSequence
    Returns the coordinate at the specified m ordinate value
    - - - -

    M

    -
    -
    MapItemType - Enum in com.tractrac.model.lib.api.map
    +

    M

    +
    +
    MapItemType - Enum Class in com.tractrac.model.lib.api.map
     
    -
    ModelLocator - Class in com.tractrac.model.lib.api
    +
    MIS - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    ModelLocator - Class in com.tractrac.model.lib.api
    This class is a locator used to get the instance of some of the factories that are used for the creation of the objects.
    -
    ModelLocator() - Constructor for class com.tractrac.model.lib.api.ModelLocator
    +
    ModelLocator() - Constructor for class com.tractrac.model.lib.api.ModelLocator
     
    - - - -

    N

    -
    -
    newKey(Class<? extends IAttachable>, String) - Method in interface com.tractrac.model.lib.api.attachment.IAttachmentManager
    +

    N

    +
    +
    newKey(Class<? extends IAttachable>, String) - Method in interface com.tractrac.model.lib.api.attachment.IAttachmentManager
    Creates a new IAttachmentKey for attach objects for a concrete class
    -
    - - - -

    O

    -
    -
    OFFLINE_STR - Static variable in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +
    NO_COLLECT - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
     
    -
    ONLINE_STR - Static variable in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +
    NO_DATA - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    NONE - Enum constant in enum class com.tractrac.model.lib.api.event.RaceStatusType
    +
     
    +
    NSC - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
     
    - - - -

    R

    -
    -
    RaceCompetitorStatusType - Enum in com.tractrac.model.lib.api.event
    +

    O

    +
    +
    OCS - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    OFFICIAL - Enum constant in enum class com.tractrac.model.lib.api.event.RaceStatusType
    +
     
    +
    OFFLINE - Enum constant in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    +
     
    +
    OFFLINE_STR - Static variable in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    +
     
    +
    OFFSET_MARK - Enum constant in enum class com.tractrac.model.lib.api.map.MapItemType
    +
     
    +
    OFFSHORESAILING - Enum constant in enum class com.tractrac.model.lib.api.event.EventType
    +
     
    +
    ONLINE - Enum constant in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    +
     
    +
    ONLINE_STR - Static variable in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    +
     
    +
    ORIENTEERING - Enum constant in enum class com.tractrac.model.lib.api.event.EventType
    +
     
    +
    +

    P

    +
    +
    POSTPONED - Enum constant in enum class com.tractrac.model.lib.api.event.RaceStatusType
    +
     
    +
    Progress - Enum constant in enum class com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type
    +
    +
    This type is sent during the loading of the stored data.
    +
    +
    +

    R

    +
    +
    RaceCompetitorStatusType - Enum Class in com.tractrac.model.lib.api.event
    Enumeration representing all the possible values for the competitor status.
    -
    RaceLoadingException - Exception in com.tractrac.model.lib.api.event
    +
    RaceLoadingException - Exception Class in com.tractrac.model.lib.api.event
    This exception is thrown when there is an error loading the race
    -
    RaceLoadingException(String) - Constructor for exception com.tractrac.model.lib.api.event.RaceLoadingException
    +
    RaceLoadingException(String) - Constructor for exception class com.tractrac.model.lib.api.event.RaceLoadingException
     
    -
    RaceStatusType - Enum in com.tractrac.model.lib.api.event
    +
    RaceStart - Enum constant in enum class com.tractrac.model.lib.api.event.StartTimeType
    +
    +
    Use race start time
    +
    +
    RaceStatusType - Enum Class in com.tractrac.model.lib.api.event
    Values for race status.
    -
    RaceVisibilityType - Enum in com.tractrac.model.lib.api.event
    +
    RaceVisibilityType - Enum Class in com.tractrac.model.lib.api.event
    Values for race visitility.
    -
    registerAttachmentManager(IAttachmentManager) - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    RACING - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    RACING - Enum constant in enum class com.tractrac.model.lib.api.event.RaceStatusType
    +
     
    +
    RCT - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    registerAttachmentManager(IAttachmentManager) - Static method in class com.tractrac.model.lib.api.ModelLocator
    Register a default IAttachmentManager.
    -
    registerEventFactory(IEventFactory) - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    registerEventFactory(IEventFactory) - Static method in class com.tractrac.model.lib.api.ModelLocator
    Register a default IEventFactory.
    -
    registerMetadataFactory(IMetadataFactory) - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    registerMetadataFactory(IMetadataFactory) - Static method in class com.tractrac.model.lib.api.ModelLocator
    Register a default IMetadataFactory.
    -
    registerPathRouteFactory(IPathRouteFactory) - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    registerPathRouteFactory(IPathRouteFactory) - Static method in class com.tractrac.model.lib.api.ModelLocator
    Register a default IPathRouteFactory.
    -
    registerPositionFactory(IPositionFactory) - Static method in class com.tractrac.model.lib.api.ModelLocator
    +
    registerPositionFactory(IPositionFactory) - Static method in class com.tractrac.model.lib.api.ModelLocator
    Register a default IPositionFactory.
    -
    registerSubscriberFactory(ISubscriberFactory) - Static method in class com.tractrac.subscription.lib.api.SubscriptionLocator
    +
    registerSubscriberFactory(ISubscriberFactory) - Static method in class com.tractrac.subscription.lib.api.SubscriptionLocator
    Register a default ISubscriberFactory.
    -
    reloadFromServer() - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    reloadFromServer() - Method in interface com.tractrac.model.lib.api.event.IRace
    This method is used to reload a race from the server using the parameters file
    -
    reloadRace(long, UUID) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    +
    reloadRace(long, UUID) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    The set of positions or control passings have changed and this race needs to be reloaded.
    -
    removeOffsetPositions(long, UUID, int) - Method in interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener
    +
    removeOffsetPositions(long, UUID, int) - Method in interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener
    Remove positions after offset for the given competitor.
    -
    REPLAY_STR - Static variable in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +
    REPLAY - Enum constant in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
     
    -
    requiresDate() - Method in enum com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
    REPLAY_STR - Static variable in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    +
     
    +
    requiresDate() - Method in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    RETIRED - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    ROUTE_SPORT - Enum constant in enum class com.tractrac.model.lib.api.event.EventType
     
    - - - -

    S

    -
    -
    setAttachment(IAttachmentKey, Object) - Method in class com.tractrac.model.lib.api.attachment.AbstractAttachable
    +

    S

    +
    +
    SAILING - Enum constant in enum class com.tractrac.model.lib.api.event.EventType
     
    -
    setAttachment(IAttachmentKey, Object) - Method in interface com.tractrac.model.lib.api.attachment.IAttachable
    +
    SCP - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    setAttachment(IAttachmentKey, Object) - Method in class com.tractrac.model.lib.api.attachment.AbstractAttachable
    +
     
    +
    setAttachment(IAttachmentKey, Object) - Method in interface com.tractrac.model.lib.api.attachment.IAttachable
    Sets custom data for this object.
    -
    setDatasourceURIs(URI, URI, URI) - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    setDatasourceURIs(URI, URI, URI) - Method in interface com.tractrac.model.lib.api.event.IRace
    Sets the datasources used to load data
    -
    setDirection(double) - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    setDirection(double) - Method in interface com.tractrac.model.lib.api.data.IPosition
    Sets the direction
    -
    setHeight(double) - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    +
    setHeight(double) - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    Sets the value of the height
    -
    setInitialized(boolean) - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    setInitialized(boolean) - Method in interface com.tractrac.model.lib.api.event.IRace
    Sets a race to an initialized state.
    -
    setLatitude(double) - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    +
    setLatitude(double) - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    Sets the value of the latitude
    -
    setLongitude(double) - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    +
    setLongitude(double) - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    Sets the value of the longitude
    -
    setM(double) - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    +
    setM(double) - Method in interface com.tractrac.model.lib.api.spatial.IGeoCoordinate
    Sets the value of the m coordinate
    -
    setSpeed(double) - Method in interface com.tractrac.model.lib.api.data.IPosition
    +
    setSpeed(double) - Method in interface com.tractrac.model.lib.api.data.IPosition
    Set the speed value
    -
    setUserId(String) - Method in interface com.tractrac.subscription.lib.api.ISubscriberFactory
    -
    -
    Add a valid user with permissions to retrieve data
    -
    -
    size() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinateSequence
    +
    size() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinateSequence
    Returns the number of points in the coordinate sequence.
    -
    start() - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    +
    SKI - Enum constant in enum class com.tractrac.model.lib.api.event.EventType
    +
     
    +
    SPREADER_MARK - Enum constant in enum class com.tractrac.model.lib.api.map.MapItemType
    +
     
    +
    start() - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    Start a new thread that received data from the subscriptions
    -
    StartTimeType - Enum in com.tractrac.model.lib.api.event
    +
    START - Enum constant in enum class com.tractrac.model.lib.api.event.RaceStatusType
    +
     
    +
    StartTimeType - Enum Class in com.tractrac.model.lib.api.event
    Type of start time to use.
    -
    startTracking(long, UUID) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    +
    startTracking(long, UUID) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    It is thrown when tracking of a race has started.
    -
    stop() - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    +
    stop() - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    Stops the thread that receives data from the subscriptions
    -
    stopped(Object) - Method in interface com.tractrac.subscription.lib.api.event.IConnectionStatusListener
    +
    stopped(Object) - Method in interface com.tractrac.subscription.lib.api.event.IConnectionStatusListener
    Invoked when data subscription was stopped.
    -
    subscribeCompetitors(ICompetitorsListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    STP - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    subscribeCompetitors(ICompetitorsListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Subscriber to competitor changes.
    -
    subscribeCompetitorSensorData(ICompetitorSensorDataListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribeCompetitorSensorData(ICompetitorSensorDataListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to competitor sensor data for a given Race.
    -
    subscribeCompetitorSensorData(ICompetitorSensorDataListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribeCompetitorSensorData(ICompetitorSensorDataListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to competitor sensor data for a given Race.
    -
    subscribeConnectionStatus(IConnectionStatusListener) - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    +
    subscribeConnectionStatus(IConnectionStatusListener) - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    Subscribes for connection status
    -
    subscribeControlPassings(IControlPassingsListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribeControlPassings(IControlPassingsListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to control passing data for the specified race.
    -
    subscribeControlPassings(IControlPassingsListener, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribeControlPassings(IControlPassingsListener, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to control passing data for the specified race and a class(es)
    -
    subscribeControlSensorData(IControlPointSensorDataListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribeControlSensorData(IControlPointSensorDataListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to control sensor data for the race.
    -
    subscribeControlSensorData(IControlPointSensorDataListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribeControlSensorData(IControlPointSensorDataListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to control sensor data for the race, also retrieving historic data.
    -
    subscribeEventMessages(IEventMessageListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    subscribeEventMessages(IEventMessageListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Subscribe to messages for an event.
    -
    subscribeEventTimesChanges(IStartStopTimesChangeListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    subscribeEventTimesChanges(IStartStopTimesChangeListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Subscribes to changes in event start and stop times.
    -
    subscribeMapItems(IMapItemsListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    subscribeMapItems(IMapItemsListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Subscriber to map item changes.
    -
    subscribePositionedItemPositions(IPositionedItemPositionListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositionedItemPositions(IPositionedItemPositionListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to control positions for the race.
    -
    subscribePositionedItemPositions(IPositionedItemPositionListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositionedItemPositions(IPositionedItemPositionListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to positioned item positions for the race, also retrieving historic data.
    -
    subscribePositions(IPositionListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositions(IPositionListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to competitor positions for a given Race.
    -
    subscribePositions(IPositionListener, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    -
    -
    Subscribes to competitor positions for a given Race and class(es).
    -
    -
    subscribePositions(IPositionListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositions(IPositionListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to competitor positions for a given Race.
    -
    subscribePositions(IPositionListener, long, long, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositions(IPositionListener, long, long, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to competitor positions for a given Race and class(es).
    -
    subscribePositionsOffset(IPositionOffsetListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositions(IPositionListener, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    +
    Subscribes to competitor positions for a given Race and class(es).
    +
    +
    subscribePositionsOffset(IPositionOffsetListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to offset competitor positions for a given Race.
    -
    subscribePositionsOffset(IPositionOffsetListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositionsOffset(IPositionOffsetListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to offset competitor positions for a given Race, including historic data.
    -
    subscribePositionsSnapped(IPositionSnappedListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositionsSnapped(IPositionSnappedListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to snapped competitor positions for a given Race.
    -
    subscribePositionsSnapped(IPositionSnappedListener, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    -
    -
    Subscribes to snapped competitor positions for a given Race and class(es).
    -
    -
    subscribePositionsSnapped(IPositionSnappedListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositionsSnapped(IPositionSnappedListener, long, long) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to snapped competitor positions for a given Race, including historic data.
    -
    subscribePositionsSnapped(IPositionSnappedListener, long, long, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositionsSnapped(IPositionSnappedListener, long, long, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to snapped competitor positions for a given Race and class(es), including historic data.
    -
    subscribeRaceCompetitor(IRaceCompetitorListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribePositionsSnapped(IPositionSnappedListener, UUID...) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    +
    Subscribes to snapped competitor positions for a given Race and class(es).
    +
    +
    subscribeRaceCompetitor(IRaceCompetitorListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to race competitor for a given Race.
    -
    subscribeRaceMessages(IRaceMessageListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribeRaceMessages(IRaceMessageListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribe to messages for a race.
    -
    subscribeRaces(IRacesListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    subscribeRaces(IRacesListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Subscriber to race changes.
    -
    subscribeRaceTimesChanges(IRaceStartStopTimesChangeListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribeRaceTimesChanges(IRaceStartStopTimesChangeListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to changes in race start and stop times.
    -
    SubscriberInitializationException - Exception in com.tractrac.subscription.lib.api
    +
    SubscriberInitializationException - Exception Class in com.tractrac.subscription.lib.api
    This exception is thrown when it is not possible to create a susbcriber.
    -
    SubscriberInitializationException(String) - Constructor for exception com.tractrac.subscription.lib.api.SubscriberInitializationException
    +
    SubscriberInitializationException(Exception) - Constructor for exception class com.tractrac.subscription.lib.api.SubscriberInitializationException
     
    -
    SubscriberInitializationException(Exception) - Constructor for exception com.tractrac.subscription.lib.api.SubscriberInitializationException
    +
    SubscriberInitializationException(String) - Constructor for exception class com.tractrac.subscription.lib.api.SubscriberInitializationException
     
    -
    subscribeRouteChanges(IControlRouteChangeListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    subscribeRouteChanges(IControlRouteChangeListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Subscribes to route changes for a given Race.
    -
    subscribeServerTime(IServerTimeListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    subscribeServerTime(IServerTimeListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Subscribe to messages for the server time.
    -
    SubscriptionLocator - Class in com.tractrac.subscription.lib.api
    +
    SubscriptionLocator - Class in com.tractrac.subscription.lib.api
    This class is a locator used to get the instance of some of the factories that are used for the creation of the objects.
    -
    SubscriptionLocator() - Constructor for class com.tractrac.subscription.lib.api.SubscriptionLocator
    +
    SubscriptionLocator() - Constructor for class com.tractrac.subscription.lib.api.SubscriptionLocator
     
    - - - -

    T

    -
    -
    toArray() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinateSequence
    +

    T

    +
    +
    TLE - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    toArray() - Method in interface com.tractrac.model.lib.api.spatial.ICoordinateSequence
    Returns (possibly copies of) the coordinates in this collection.
    - - - -

    U

    -
    -
    unsubscribeCompetitors(ICompetitorsListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +

    U

    +
    +
    UFD - Enum constant in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
     
    +
    UNOFFICIAL - Enum constant in enum class com.tractrac.model.lib.api.event.RaceStatusType
    +
     
    +
    unsubscribeCompetitors(ICompetitorsListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Unsubscribes the competitors subscribers
    -
    unsubscribeCompetitorSensorData(ICompetitorSensorDataListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribeCompetitorSensorData(ICompetitorSensorDataListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to competitor sensor data for a given Race.
    -
    unsubscribeConnectionStatus(IConnectionStatusListener) - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    +
    unsubscribeConnectionStatus(IConnectionStatusListener) - Method in interface com.tractrac.subscription.lib.api.ISubscriber
    Unsubscribes for connection status
    -
    unsubscribeControlPassings(IControlPassingsListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribeControlPassings(IControlPassingsListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to control passing data for the specified race.
    -
    unsubscribeControlSensorData(IControlPointSensorDataListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribeControlSensorData(IControlPointSensorDataListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to control sensor data for a given Race.
    -
    unsubscribeEventMessages(IEventMessageListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    unsubscribeEventMessages(IEventMessageListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Unsubscribes to event messages.
    -
    unsubscribeEventTimesChanges(IStartStopTimesChangeListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    unsubscribeEventTimesChanges(IStartStopTimesChangeListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Unsubscribes to changes in event start and stop times.
    -
    unsubscribeMapItems(IMapItemsListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    unsubscribeMapItems(IMapItemsListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Unsubscribes the map items subscribers
    -
    unsubscribePositionedItemPositions(IPositionedItemPositionListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribePositionedItemPositions(IPositionedItemPositionListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to positioned item positions.
    -
    unsubscribePositions(IPositionListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribePositions(IPositionListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to competitor positions for a given Race.
    -
    unsubscribePositionsOffset(IPositionOffsetListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribePositionsOffset(IPositionOffsetListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to competitor positions for a given Race.
    -
    unsubscribePositionsSnapped(IPositionSnappedListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribePositionsSnapped(IPositionSnappedListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to competitor positions for a given Race.
    -
    unsubscribeRaceCompetitor(IRaceCompetitorListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribeRaceCompetitor(IRaceCompetitorListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to race competitor
    -
    unsubscribeRaceMessages(IRaceMessageListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribeRaceMessages(IRaceMessageListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to race messages
    -
    unsubscribeRaces(IRacesListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    unsubscribeRaces(IRacesListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Unsubscribes the races subscribers
    -
    unsubscribeRaceTimesChanges(IRaceStartStopTimesChangeListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribeRaceTimesChanges(IRaceStartStopTimesChangeListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to changes in race start and stop times.
    -
    unsubscribeRouteChanges(IControlRouteChangeListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    +
    unsubscribeRouteChanges(IControlRouteChangeListener) - Method in interface com.tractrac.subscription.lib.api.IRaceSubscriber
    Unsubscribes to route changes for a given Race.
    -
    unsubscribeServerTime(IServerTimeListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    +
    unsubscribeServerTime(IServerTimeListener) - Method in interface com.tractrac.subscription.lib.api.IEventSubscriber
    Unsubscribes to messages for the server time.
    -
    UPCOMING_STR - Static variable in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +
    UPCOMING - Enum constant in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
     
    -
    updateCompetitor(ICompetitor) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    -
    Update a competitor
    -
    -
    updateCompetitor(long, ICompetitor) - Method in interface com.tractrac.subscription.lib.api.competitor.ICompetitorsListener
    +
    UPCOMING_STR - Static variable in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    +
     
    +
    updateCompetitor(long, ICompetitor) - Method in interface com.tractrac.subscription.lib.api.competitor.ICompetitorsListener
    This event is thrown when a competitor is updated.
    -
    updateControl(IMapItem) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    updateCompetitor(ICompetitor) - Method in interface com.tractrac.model.lib.api.event.IEvent
    +
    +
    Update a competitor
    +
    +
    updateControl(IMapItem) - Method in interface com.tractrac.model.lib.api.event.IEvent
    Update a control
    -
    updateMapItem(long, IMapItem) - Method in interface com.tractrac.subscription.lib.api.map.IMapItemsListener
    +
    updateMapItem(long, IMapItem) - Method in interface com.tractrac.subscription.lib.api.map.IMapItemsListener
    This event is thrown when a map item is updated.
    -
    updateRace(IRace) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    -
    Update a race
    -
    -
    updateRace(long, IRace) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    +
    updateRace(long, IRace) - Method in interface com.tractrac.subscription.lib.api.race.IRacesListener
    This event is thrown when a race is updated.
    -
    updateRaceCompetitor(IRaceCompetitor) - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    updateRace(IRace) - Method in interface com.tractrac.model.lib.api.event.IEvent
    -
    Updates a race competitor
    +
    Update a race
    -
    updateRaceCompetitor(long, IRaceCompetitor) - Method in interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener
    +
    updateRaceCompetitor(long, IRaceCompetitor) - Method in interface com.tractrac.subscription.lib.api.race.IRaceCompetitorListener
    This event is thrown when a race competitor is updated
    -
    updateRoute(IRoute) - Method in interface com.tractrac.subscription.lib.api.route.IRoutesListener
    +
    updateRaceCompetitor(IRaceCompetitor) - Method in interface com.tractrac.model.lib.api.event.IRace
    +
    +
    Updates a race competitor
    +
    +
    updateRoute(IRoute) - Method in interface com.tractrac.subscription.lib.api.route.IRoutesListener
    This event is thrown when a route is updated.
    - - - -

    V

    -
    -
    valueOf(String) - Static method in enum com.tractrac.model.lib.api.event.DataSource
    +

    V

    +
    +
    valueOf(String) - Static method in enum class com.tractrac.model.lib.api.event.DataSource
    -
    Returns the enum constant of this type with the specified name.
    +
    Returns the enum constant of this class with the specified name.
    -
    valueOf(String) - Static method in enum com.tractrac.model.lib.api.event.EventType
    +
    valueOf(String) - Static method in enum class com.tractrac.model.lib.api.event.EventType
    -
    Returns the enum constant of this type with the specified name.
    +
    Returns the enum constant of this class with the specified name.
    -
    valueOf(String) - Static method in enum com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
    valueOf(String) - Static method in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    -
    Returns the enum constant of this type with the specified name.
    +
    Returns the enum constant of this class with the specified name.
    -
    valueOf(String) - Static method in enum com.tractrac.model.lib.api.event.RaceStatusType
    +
    valueOf(String) - Static method in enum class com.tractrac.model.lib.api.event.RaceStatusType
    -
    Returns the enum constant of this type with the specified name.
    +
    Returns the enum constant of this class with the specified name.
    -
    valueOf(String) - Static method in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +
    valueOf(String) - Static method in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    -
    Returns the enum constant of this type with the specified name.
    +
    Returns the enum constant of this class with the specified name.
    -
    valueOf(String) - Static method in enum com.tractrac.model.lib.api.event.StartTimeType
    +
    valueOf(String) - Static method in enum class com.tractrac.model.lib.api.event.StartTimeType
    -
    Returns the enum constant of this type with the specified name.
    +
    Returns the enum constant of this class with the specified name.
    -
    valueOf(String) - Static method in enum com.tractrac.model.lib.api.map.MapItemType
    +
    valueOf(String) - Static method in enum class com.tractrac.model.lib.api.map.MapItemType
    -
    Returns the enum constant of this type with the specified name.
    +
    Returns the enum constant of this class with the specified name.
    -
    valueOf(String) - Static method in enum com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType
    +
    valueOf(String) - Static method in enum class com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType
    -
    Returns the enum constant of this type with the specified name.
    +
    Returns the enum constant of this class with the specified name.
    -
    valueOf(String) - Static method in enum com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type
    +
    valueOf(String) - Static method in enum class com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type
    -
    Returns the enum constant of this type with the specified name.
    +
    Returns the enum constant of this class with the specified name.
    -
    values() - Static method in enum com.tractrac.model.lib.api.event.DataSource
    +
    values() - Static method in enum class com.tractrac.model.lib.api.event.DataSource
    -
    Returns an array containing the constants of this enum type, in +
    Returns an array containing the constants of this enum class, in the order they are declared.
    -
    values() - Static method in enum com.tractrac.model.lib.api.event.EventType
    +
    values() - Static method in enum class com.tractrac.model.lib.api.event.EventType
    -
    Returns an array containing the constants of this enum type, in +
    Returns an array containing the constants of this enum class, in the order they are declared.
    -
    values() - Static method in enum com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    +
    values() - Static method in enum class com.tractrac.model.lib.api.event.RaceCompetitorStatusType
    -
    Returns an array containing the constants of this enum type, in +
    Returns an array containing the constants of this enum class, in the order they are declared.
    -
    values() - Static method in enum com.tractrac.model.lib.api.event.RaceStatusType
    +
    values() - Static method in enum class com.tractrac.model.lib.api.event.RaceStatusType
    -
    Returns an array containing the constants of this enum type, in +
    Returns an array containing the constants of this enum class, in the order they are declared.
    -
    values() - Static method in enum com.tractrac.model.lib.api.event.RaceVisibilityType
    +
    values() - Static method in enum class com.tractrac.model.lib.api.event.RaceVisibilityType
    -
    Returns an array containing the constants of this enum type, in +
    Returns an array containing the constants of this enum class, in the order they are declared.
    -
    values() - Static method in enum com.tractrac.model.lib.api.event.StartTimeType
    +
    values() - Static method in enum class com.tractrac.model.lib.api.event.StartTimeType
    -
    Returns an array containing the constants of this enum type, in +
    Returns an array containing the constants of this enum class, in the order they are declared.
    -
    values() - Static method in enum com.tractrac.model.lib.api.map.MapItemType
    +
    values() - Static method in enum class com.tractrac.model.lib.api.map.MapItemType
    -
    Returns an array containing the constants of this enum type, in +
    Returns an array containing the constants of this enum class, in the order they are declared.
    -
    values() - Static method in enum com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType
    +
    values() - Static method in enum class com.tractrac.subscription.lib.api.event.ILiveDataEvent.StatusType
    -
    Returns an array containing the constants of this enum type, in +
    Returns an array containing the constants of this enum class, in the order they are declared.
    -
    values() - Static method in enum com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type
    +
    values() - Static method in enum class com.tractrac.subscription.lib.api.event.IStoredDataEvent.Type
    -
    Returns an array containing the constants of this enum type, in +
    Returns an array containing the constants of this enum class, in the order they are declared.
    -A B C D E F G H I L M N O R S T U V 
    - -
    - - - - - - - +A B C D E F G H I L M N O P R S T U V 
    All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +
    +
    + +
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/index.html b/java/com.tractrac.clientmodule/javadoc/index.html index bc884b9554b..fa7faf2d904 100644 --- a/java/com.tractrac.clientmodule/javadoc/index.html +++ b/java/com.tractrac.clientmodule/javadoc/index.html @@ -1,76 +1,144 @@ - - + - + +Overview (Subscription - Applications - TracAPI 5.0.0 API) + -Subscription - Applications - TracAPI 4.0.2 API - + + + + + + + + - - - - - - - +<body class="package-index-page"> +<script type="text/javascript">var pathtoroot = "./"; +loadScripts(document, 'script');</script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> -<h2>Frame Alert</h2> -<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p> - - +
    + +
    +
    +
    +

    TracAPI 5.0.0

    +
    +
    +
    Packages
    +
    +
    Package
    +
    Description
    + +
    +
    + Main package of the model project.
    +
    + +
    +
    + Contains the functionality to attach an object to other object.
    +
    + +
    +
    + Contains positions and control passings
    +
    + +
    +
    + Events, races and competitors
    +
    + +
     
    + +
    +
    + The metadata functionality
    +
    + +
    +
    + The route configuration: controls, paths and routes
    +
    + +
    +
    + Sensor data interfaces
    +
    + +
    +
    + The spatial data
    +
    + +
    +
    + Contains the classes used to add a subscription to an event.
    +
    + +
    +
    + Subscriptions related with competitors and positions
    +
    + +
    +
    + Subscriptions related with the controls and control passings
    +
    + +
    +
    + Subscriptions related with the event and/or the connection
    +
    + +
     
    + +
    +
    + Subscriptions related with the races
    +
    + +
    +
    + Subscriptions related with the routes
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + diff --git a/java/com.tractrac.clientmodule/javadoc/javadoc.sh b/java/com.tractrac.clientmodule/javadoc/javadoc.sh new file mode 100755 index 00000000000..8534ed13a6b --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/javadoc.sh @@ -0,0 +1 @@ +/usr/lib/jvm/jdk-21.0.8/bin/javadoc @options @packages \ No newline at end of file diff --git a/java/com.tractrac.clientmodule/javadoc/legal/COPYRIGHT b/java/com.tractrac.clientmodule/javadoc/legal/COPYRIGHT new file mode 100644 index 00000000000..7a42888b518 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/legal/COPYRIGHT @@ -0,0 +1,69 @@ +Copyright © 1993, 2025, Oracle and/or its affiliates. +All rights reserved. + +This software and related documentation are provided under a +license agreement containing restrictions on use and +disclosure and are protected by intellectual property laws. +Except as expressly permitted in your license agreement or +allowed by law, you may not use, copy, reproduce, translate, +broadcast, modify, license, transmit, distribute, exhibit, +perform, publish, or display any part, in any form, or by +any means. Reverse engineering, disassembly, or +decompilation of this software, unless required by law for +interoperability, is prohibited. + +The information contained herein is subject to change +without notice and is not warranted to be error-free. If you +find any errors, please report them to us in writing. + +If this is software or related documentation that is +delivered to the U.S. Government or anyone licensing it on +behalf of the U.S. Government, the following notice is +applicable: + +U.S. GOVERNMENT END USERS: Oracle programs, including any +operating system, integrated software, any programs +installed on the hardware, and/or documentation, delivered +to U.S. Government end users are "commercial computer +software" pursuant to the applicable Federal Acquisition +Regulation and agency-specific supplemental regulations. As +such, use, duplication, disclosure, modification, and +adaptation of the programs, including any operating system, +integrated software, any programs installed on the hardware, +and/or documentation, shall be subject to license terms and +license restrictions applicable to the programs. No other +rights are granted to the U.S. Government. + +This software or hardware is developed for general use in a +variety of information management applications. It is not +developed or intended for use in any inherently dangerous +applications, including applications that may create a risk +of personal injury. If you use this software or hardware in +dangerous applications, then you shall be responsible to +take all appropriate fail-safe, backup, redundancy, and +other measures to ensure its safe use. Oracle Corporation +and its affiliates disclaim any liability for any damages +caused by use of this software or hardware in dangerous +applications. + +Oracle and Java are registered trademarks of Oracle and/or +its affiliates. Other names may be trademarks of their +respective owners. + +Intel and Intel Xeon are trademarks or registered trademarks +of Intel Corporation. All SPARC trademarks are used under +license and are trademarks or registered trademarks of SPARC +International, Inc. AMD, Opteron, the AMD logo, and the AMD +Opteron logo are trademarks or registered trademarks of +Advanced Micro Devices. UNIX is a registered trademark of +The Open Group. + +This software or hardware and documentation may provide +access to or information on content, products, and services +from third parties. Oracle Corporation and its affiliates +are not responsible for and expressly disclaim all +warranties of any kind with respect to third-party content, +products, and services. Oracle Corporation and its +affiliates will not be responsible for any loss, costs, or +damages incurred due to your access to or use of third-party +content, products, or services. diff --git a/java/com.tractrac.clientmodule/javadoc/legal/LICENSE b/java/com.tractrac.clientmodule/javadoc/legal/LICENSE new file mode 100644 index 00000000000..ee860d38bba --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/legal/LICENSE @@ -0,0 +1,118 @@ +Your use of this Program is governed by the No-Fee Terms and Conditions set +forth below, unless you have received this Program (alone or as part of another +Oracle product) under an Oracle license agreement (including but not limited to +the Oracle Master Agreement), in which case your use of this Program is governed +solely by such license agreement with Oracle. + +Oracle No-Fee Terms and Conditions (NFTC) + +Definitions + +"Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) a company +or organization (each an "Entity") accessing the Programs, if use of the +Programs will be on behalf of such Entity; or (b) an individual accessing the +Programs, if use of the Programs will not be on behalf of an Entity. +"Program(s)" refers to Oracle software provided by Oracle pursuant to the +following terms and any updates, error corrections, and/or Program Documentation +provided by Oracle. "Program Documentation" refers to Program user manuals and +Program installation manuals, if any. If available, Program Documentation may be +delivered with the Programs and/or may be accessed from +www.oracle.com/documentation. "Separate Terms" refers to separate license terms +that are specified in the Program Documentation, readmes or notice files and +that apply to Separately Licensed Technology. "Separately Licensed Technology" +refers to Oracle or third party technology that is licensed under Separate Terms +and not under the terms of this license. + +Separately Licensed Technology + +Oracle may provide certain notices to You in Program Documentation, readmes or +notice files in connection with Oracle or third party technology provided as or +with the Programs. If specified in the Program Documentation, readmes or notice +files, such technology will be licensed to You under Separate Terms. Your rights +to use Separately Licensed Technology under Separate Terms are not restricted in +any way by the terms herein. For clarity, notwithstanding the existence of a +notice, third party technology that is not Separately Licensed Technology shall +be deemed part of the Programs licensed to You under the terms of this license. + +Source Code for Open Source Software + +For software that You receive from Oracle in binary form that is licensed under +an open source license that gives You the right to receive the source code for +that binary, You can obtain a copy of the applicable source code from +https://oss.oracle.com/sources/ or http://www.oracle.com/goto/opensourcecode. If +the source code for such software was not provided to You with the binary, You +can also receive a copy of the source code on physical media by submitting a +written request pursuant to the instructions in the "Written Offer for Source +Code" section of the latter website. + +------------------------------------------------------------------------------- + +The following license terms apply to those Programs that are not provided to You +under Separate Terms. + +License Rights and Restrictions + +Oracle grants to You, as a recipient of this Program, subject to the conditions +stated herein, a nonexclusive, nontransferable, limited license to: + +(a) internally use the unmodified Programs for the purposes of developing, +testing, prototyping and demonstrating your applications, and running the +Program for Your own personal use or internal business operations; and + +(b) redistribute the unmodified Program and Program Documentation, under the +terms of this License, provided that You do not charge Your licensees any fees +associated with such distribution or use of the Program, including, without +limitation, fees for products that include or are bundled with a copy of the +Program or for services that involve the use of the distributed Program. + +You may make copies of the Programs to the extent reasonably necessary for +exercising the license rights granted herein and for backup purposes. You are +granted the right to use the Programs to provide third party training in the use +of the Programs and associated Separately Licensed Technology only if there is +express authorization of such use by Oracle on the Program's download page or in +the Program Documentation. + +Your license is contingent on compliance with the following conditions: + +- You do not remove markings or notices of either Oracle's or a licensor's + proprietary rights from the Programs or Program Documentation; + +- You comply with all U.S. and applicable export control and economic sanctions + laws and regulations that govern Your use of the Programs (including technical + data); + +- You do not cause or permit reverse engineering, disassembly or decompilation + of the Programs (except as allowed by law) by You nor allow an associated + party to do so. + +For clarity, any source code that may be included in the distribution with the +Programs is provided solely for reference purposes and may not be modified, +unless such source code is under Separate Terms permitting modification. + +Ownership + +Oracle or its licensors retain all ownership and intellectual property rights to +the Programs. + +Information Collection + +The Programs' installation and/or auto-update processes, if any, may transmit a +limited amount of data to Oracle or its service provider about those processes +to help Oracle understand and optimize them. Oracle does not associate the data +with personally identifiable information. Refer to Oracle's Privacy Policy at +www.oracle.com/privacy. + +Disclaimer of Warranties; Limitation of Liability + +THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER +DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY +IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +NONINFRINGEMENT. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE BE LIABLE TO YOU FOR +DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT +LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. diff --git a/java/com.tractrac.clientmodule/javadoc/legal/jquery.md b/java/com.tractrac.clientmodule/javadoc/legal/jquery.md new file mode 100644 index 00000000000..a763ec6f187 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/legal/jquery.md @@ -0,0 +1,26 @@ +## jQuery v3.7.1 + +### jQuery License +``` +jQuery v 3.7.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +``` diff --git a/java/com.tractrac.clientmodule/javadoc/legal/jqueryUI.md b/java/com.tractrac.clientmodule/javadoc/legal/jqueryUI.md new file mode 100644 index 00000000000..8bda9d7a85e --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.13.2 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/java/com.tractrac.clientmodule/javadoc/link.svg b/java/com.tractrac.clientmodule/javadoc/link.svg new file mode 100644 index 00000000000..dadef51c521 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/link.svg @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/java/com.tractrac.clientmodule/javadoc/member-search-index.js b/java/com.tractrac.clientmodule/javadoc/member-search-index.js new file mode 100644 index 00000000000..35bec05ed3d --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"ABANDONED"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"ABANDONED"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRacesListener","l":"abandonRace(long, UUID)","u":"abandonRace(long,java.util.UUID)"},{"p":"com.tractrac.model.lib.api.attachment","c":"AbstractAttachable","l":"AbstractAttachable()","u":"%3Cinit%3E()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"addCompetitor(ICompetitor)","u":"addCompetitor(com.tractrac.model.lib.api.event.ICompetitor)"},{"p":"com.tractrac.subscription.lib.api.competitor","c":"ICompetitorsListener","l":"addCompetitor(long, ICompetitor)","u":"addCompetitor(long,com.tractrac.model.lib.api.event.ICompetitor)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"addControl(IMapItem)","u":"addControl(com.tractrac.model.lib.api.map.IMapItem)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"addControlPoint(IPositionedItem)","u":"addControlPoint(com.tractrac.model.lib.api.map.IPositionedItem)"},{"p":"com.tractrac.subscription.lib.api.map","c":"IMapItemsListener","l":"addMapItem(long, IMapItem)","u":"addMapItem(long,com.tractrac.model.lib.api.map.IMapItem)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"addRace(IRace)","u":"addRace(com.tractrac.model.lib.api.event.IRace)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRacesListener","l":"addRace(long, IRace)","u":"addRace(long,com.tractrac.model.lib.api.event.IRace)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"addRaceCompetitor(IRaceCompetitor)","u":"addRaceCompetitor(com.tractrac.model.lib.api.event.IRaceCompetitor)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRaceCompetitorListener","l":"addRaceCompetitor(long, IRaceCompetitor)","u":"addRaceCompetitor(long,com.tractrac.model.lib.api.event.IRaceCompetitor)"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"after(IPosition)","u":"after(com.tractrac.model.lib.api.data.IPosition)"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"after(long)"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"before(IPosition)","u":"before(com.tractrac.model.lib.api.data.IPosition)"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"before(long)"},{"p":"com.tractrac.subscription.lib.api.event","c":"IStoredDataEvent.Type","l":"Begin"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"BFD"},{"p":"com.tractrac.model.lib.api.map","c":"MapItemType","l":"BOUNDARY"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriberFactory","l":"clean()"},{"p":"com.tractrac.model.lib.api.attachment","c":"AbstractAttachable","l":"cleanAll()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"competitorAbandoned()"},{"p":"com.tractrac.subscription.lib.api.event","c":"ILiveDataEvent.StatusType","l":"Connected"},{"p":"com.tractrac.model.lib.api.map","c":"MapItemType","l":"CONTROL"},{"p":"com.tractrac.model.lib.api.data","c":"IPositionFactory","l":"createCompressedPosition(ByteBuffer, boolean)","u":"createCompressedPosition(java.nio.ByteBuffer,boolean)"},{"p":"com.tractrac.model.lib.api.data","c":"IPositionFactory","l":"createCompressedPosition(double, double, double, double, double)","u":"createCompressedPosition(double,double,double,double,double)"},{"p":"com.tractrac.model.lib.api.data","c":"IPositionFactory","l":"createCompressedPosition(double, double, double, double, double, Double, Double, Byte, Integer)","u":"createCompressedPosition(double,double,double,double,double,java.lang.Double,java.lang.Double,java.lang.Byte,java.lang.Integer)"},{"p":"com.tractrac.model.lib.api.data","c":"IPositionFactory","l":"createCoordinate(double, double)","u":"createCoordinate(double,double)"},{"p":"com.tractrac.model.lib.api.data","c":"IPositionFactory","l":"createCoordinate(double, double, double, double)","u":"createCoordinate(double,double,double,double)"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"createEvent(String, URI)","u":"createEvent(java.lang.String,java.net.URI)"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"createEvents(String, URI)","u":"createEvents(java.lang.String,java.net.URI)"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"createEventsForClubs(String, URI)","u":"createEventsForClubs(java.lang.String,java.net.URI)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriberFactory","l":"createEventSubscriber(String, IEvent)","u":"createEventSubscriber(java.lang.String,com.tractrac.model.lib.api.event.IEvent)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriberFactory","l":"createEventSubscriber(String, IEvent, URI, URI)","u":"createEventSubscriber(java.lang.String,com.tractrac.model.lib.api.event.IEvent,java.net.URI,java.net.URI)"},{"p":"com.tractrac.model.lib.api.metadata","c":"IMetadataFactory","l":"createMetadata(String)","u":"createMetadata(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"CreateModelException","l":"CreateModelException(Exception)","u":"%3Cinit%3E(java.lang.Exception)"},{"p":"com.tractrac.model.lib.api.route","c":"IPathRouteFactory","l":"createPathRoute(URL)","u":"createPathRoute(java.net.URL)"},{"p":"com.tractrac.model.lib.api.data","c":"IPositionFactory","l":"createPosition(double, double)","u":"createPosition(double,double)"},{"p":"com.tractrac.model.lib.api.data","c":"IPositionFactory","l":"createPosition(double, double, double, double, double, double, long)","u":"createPosition(double,double,double,double,double,double,long)"},{"p":"com.tractrac.model.lib.api.data","c":"IPositionFactory","l":"createPosition(double, double, double, double, double, double, long, boolean, Double, Byte, Integer)","u":"createPosition(double,double,double,double,double,double,long,boolean,java.lang.Double,java.lang.Byte,java.lang.Integer)"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"createRace(String, IParameterSet)","u":"createRace(java.lang.String,com.tractrac.util.lib.api.programparameters.IParameterSet)"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"createRace(String, IParameterSet, URI, URI)","u":"createRace(java.lang.String,com.tractrac.util.lib.api.programparameters.IParameterSet,java.net.URI,java.net.URI)"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"createRace(String, URI)","u":"createRace(java.lang.String,java.net.URI)"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"createRace(String, URI, int)","u":"createRace(java.lang.String,java.net.URI,int)"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"createRace(String, URI, int, URI, URI)","u":"createRace(java.lang.String,java.net.URI,int,java.net.URI,java.net.URI)"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"createRace(String, URI, URI, URI)","u":"createRace(java.lang.String,java.net.URI,java.net.URI,java.net.URI)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriberFactory","l":"createRaceSubscriber(String, IRace)","u":"createRaceSubscriber(java.lang.String,com.tractrac.model.lib.api.event.IRace)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriberFactory","l":"createRaceSubscriber(String, IRace, URI)","u":"createRaceSubscriber(java.lang.String,com.tractrac.model.lib.api.event.IRace,java.net.URI)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriberFactory","l":"createRaceSubscriber(String, IRace, URI, URI)","u":"createRaceSubscriber(java.lang.String,com.tractrac.model.lib.api.event.IRace,java.net.URI,java.net.URI)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriberFactory","l":"createRaceSubscriber(String, URI)","u":"createRaceSubscriber(java.lang.String,java.net.URI)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriberFactory","l":"createRaceSubscriber(String, URI, URI, URI)","u":"createRaceSubscriber(java.lang.String,java.net.URI,java.net.URI,java.net.URI)"},{"p":"com.tractrac.model.lib.api.event","c":"DataSource","l":"DATASERVER_TCP"},{"p":"com.tractrac.model.lib.api.event","c":"DataSource","l":"DATASERVER_WEBSOCKET"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRacesListener","l":"dataSourceChanged(long, IRace, DataSource, URI, URI)","u":"dataSourceChanged(long,com.tractrac.model.lib.api.event.IRace,com.tractrac.model.lib.api.event.DataSource,java.net.URI,java.net.URI)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"DCT"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"deleteCache()"},{"p":"com.tractrac.subscription.lib.api.competitor","c":"ICompetitorsListener","l":"deleteCompetitor(long, UUID)","u":"deleteCompetitor(long,java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"deleteCompetitor(UUID)","u":"deleteCompetitor(java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"deleteControl(UUID)","u":"deleteControl(java.util.UUID)"},{"p":"com.tractrac.subscription.lib.api.map","c":"IMapItemsListener","l":"deleteMapItem(long, UUID)","u":"deleteMapItem(long,java.util.UUID)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRacesListener","l":"deleteRace(long, UUID)","u":"deleteRace(long,java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"deleteRace(UUID)","u":"deleteRace(java.util.UUID)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRaceCompetitorListener","l":"deleteRaceCompetitor(long, UUID)","u":"deleteRaceCompetitor(long,java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"deleteRaceCompetitor(UUID)","u":"deleteRaceCompetitor(java.util.UUID)"},{"p":"com.tractrac.subscription.lib.api.event","c":"ILiveDataEvent.StatusType","l":"Disconnected"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"DISQUALIFIED"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinate","l":"distance(ICoordinate)","u":"distance(com.tractrac.model.lib.api.spatial.ICoordinate)"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinate","l":"distance(ICoordinate, ICoordinate)","u":"distance(com.tractrac.model.lib.api.spatial.ICoordinate,com.tractrac.model.lib.api.spatial.ICoordinate)"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinate","l":"distanceSq(ICoordinate)","u":"distanceSq(com.tractrac.model.lib.api.spatial.ICoordinate)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"DNC"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"DNE"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"DNF"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"DONT_RACE"},{"p":"com.tractrac.subscription.lib.api.event","c":"IStoredDataEvent.Type","l":"End"},{"p":"com.tractrac.subscription.lib.api.event","c":"ILiveDataEvent.StatusType","l":"Error"},{"p":"com.tractrac.subscription.lib.api.event","c":"IStoredDataEvent.Type","l":"Error"},{"p":"com.tractrac.model.lib.api.event","c":"DataSource","l":"FILE_MTB"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"FIN"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"FINISH_CONFIRMED"},{"p":"com.tractrac.model.lib.api.event","c":"StartTimeType","l":"FirstControl"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"fromInteger(int)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"fromInteger(int)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"fromInteger(int)"},{"p":"com.tractrac.model.lib.api.map","c":"MapItemType","l":"fromInteger(int)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"fromString(String)","u":"fromString(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"fromString(String)","u":"fromString(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"fromString(String)","u":"fromString(java.lang.String)"},{"p":"com.tractrac.model.lib.api.map","c":"MapItemType","l":"fromString(String)","u":"fromString(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"GENERAL_RECALL"},{"p":"com.tractrac.model.lib.api.attachment","c":"AbstractAttachable","l":"getAttachment(IAttachmentKey)","u":"getAttachment(com.tractrac.model.lib.api.attachment.IAttachmentKey)"},{"p":"com.tractrac.model.lib.api.attachment","c":"IAttachable","l":"getAttachment(IAttachmentKey)","u":"getAttachment(com.tractrac.model.lib.api.attachment.IAttachmentKey)"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"getAttachmentManager()"},{"p":"com.tractrac.model.lib.api.data","c":"IMessageData","l":"getBlob()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IExtent","l":"getCenterLat()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IExtent","l":"getCenterLon()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getColor()"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceCompetitor","l":"getCompetitor()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getCompetitor(UUID)","u":"getCompetitor(java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getCompetitorClass()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getCompetitorClasses()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitorClass","l":"getCompetitors()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getCompetitors()"},{"p":"com.tractrac.model.lib.api.data","c":"IControlPassing","l":"getControl()"},{"p":"com.tractrac.model.lib.api.route","c":"IControlRoute","l":"getControls()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinateSequence","l":"getCoordinate(int)"},{"p":"com.tractrac.model.lib.api.route","c":"ISegment","l":"getCoordinates()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getCourseArea()"},{"p":"com.tractrac.model.lib.api.map","c":"IMapItem","l":"getCourseArea()"},{"p":"com.tractrac.model.lib.api.map","c":"IPositionedItem","l":"getCourseArea()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getDatabase()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getDataSource()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getDefaultRoute()"},{"p":"com.tractrac.model.lib.api.event","c":"IEventFactory","l":"getDefaultTimeOut()"},{"p":"com.tractrac.model.lib.api.attachment","c":"IAttachmentKey","l":"getDescription()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getDescription()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitorClass","l":"getDescription()"},{"p":"com.tractrac.model.lib.api.event","c":"ITeam","l":"getDescription()"},{"p":"com.tractrac.model.lib.api.sensor","c":"ISensorData","l":"getDimensionAt(int)"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"getDirection()"},{"p":"com.tractrac.subscription.lib.api.event","c":"IStoredDataEvent","l":"getError()"},{"p":"com.tractrac.subscription.lib.api.event","c":"ILiveDataEvent","l":"getErrorMsgs()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getEvent()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getEventEndTime()"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"getEventFactory()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getEventStartTime()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getEventType()"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"getEventTypeByName(String)","u":"getEventTypeByName(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"getEventTypeByUUID(String)","u":"getEventTypeByUUID(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getExpectedRaceStartDate()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getExtent()"},{"p":"com.tractrac.model.lib.api.route","c":"IRoute","l":"getExtent()"},{"p":"com.tractrac.model.lib.api.route","c":"ISegment","l":"getExtent()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getFirstName()"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"getHACC()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getHandicapToD()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getHandicapToT()"},{"p":"com.tractrac.model.lib.api.sensor","c":"ISensorData","l":"getHeel()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IGeoCoordinate","l":"getHeight()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ISimplePosition","l":"getHeight()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getIcon()"},{"p":"com.tractrac.model.lib.api.event","c":"ITeam","l":"getIcon()"},{"p":"com.tractrac.model.lib.api","c":"IIdentifiable","l":"getId()"},{"p":"com.tractrac.model.lib.api.attachment","c":"IAttachmentKey","l":"getIndex()"},{"p":"com.tractrac.model.lib.api.attachment","c":"IAttachmentManager","l":"getKeys(Class)","u":"getKeys(java.lang.Class)"},{"p":"com.tractrac.model.lib.api.data","c":"IMessageData","l":"getKind()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getLastName()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IGeoCoordinate","l":"getLatitude()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ISimplePosition","l":"getLatitude()"},{"p":"com.tractrac.model.lib.api.route","c":"IRoute","l":"getLength()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getLiveDelay()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getLiveURI()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getLiveURI()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IGeoCoordinate","l":"getLongitude()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ISimplePosition","l":"getLongitude()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IExtent","l":"getLRLat()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IExtent","l":"getLRLon()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinate","l":"getM()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IGeoCoordinate","l":"getM()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ISimplePosition","l":"getM()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getMapItem(UUID)","u":"getMapItem(java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getMapItems()"},{"p":"com.tractrac.model.lib.api.map","c":"IMapItem","l":"getMapItemType()"},{"p":"com.tractrac.model.lib.api.map","c":"IMapItem","l":"getMapName()"},{"p":"com.tractrac.model.lib.api.event","c":"CreateModelException","l":"getMessage()"},{"p":"com.tractrac.subscription.lib.api","c":"SubscriberInitializationException","l":"getMessage()"},{"p":"com.tractrac.subscription.lib.api.event","c":"IMessage","l":"getMessageData()"},{"p":"com.tractrac.model.lib.api.metadata","c":"IMetadataContainer","l":"getMetadata()"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"getMetadataFactory()"},{"p":"com.tractrac.model.lib.api","c":"INamed","l":"getName()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getNationality()"},{"p":"com.tractrac.model.lib.api.event","c":"ITeam","l":"getNationality()"},{"p":"com.tractrac.model.lib.api.data","c":"IMessageData","l":"getObject()"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceCompetitor","l":"getOfficialFinishTime()"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceCompetitor","l":"getOfficialRank()"},{"p":"com.tractrac.model.lib.api.data","c":"IPositionOffset","l":"getOffset()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getParameterSet()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getParamsURI()"},{"p":"com.tractrac.model.lib.api.data","c":"IControlPassings","l":"getPassings()"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"getPathRouteFactory()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getPicture()"},{"p":"com.tractrac.model.lib.api.event","c":"ITeam","l":"getPicture()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getPositionedItem(UUID)","u":"getPositionedItem(java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getPositionedItems()"},{"p":"com.tractrac.model.lib.api.map","c":"IMapItem","l":"getPositionedItems()"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"getPositionFactory()"},{"p":"com.tractrac.model.lib.api.map","c":"IPositionedItem","l":"getPositions()"},{"p":"com.tractrac.subscription.lib.api.event","c":"IStoredDataEvent","l":"getProgress()"},{"p":"com.tractrac.model.lib.api.metadata","c":"IPropertiesContainer","l":"getProperty(String)","u":"getProperty(java.lang.String)"},{"p":"com.tractrac.model.lib.api.route","c":"IControlRoute","l":"getProperty(String, int)","u":"getProperty(java.lang.String,int)"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceCompetitor","l":"getRace()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getRace(UUID)","u":"getRace(java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getRaceCompetitor(UUID)","u":"getRaceCompetitor(java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getRaceCompetitors()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getRaceEndTime()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getRaces()"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceSerie","l":"getRaces()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getRaceSerie()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getRaceSeries()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getRaceStartTime()"},{"p":"com.tractrac.model.lib.api.sensor","c":"ISensorData","l":"getRaw()"},{"p":"com.tractrac.model.lib.api.sensor","c":"ISensorData","l":"getRideHeightPort()"},{"p":"com.tractrac.model.lib.api.sensor","c":"ISensorData","l":"getRideHeightStarboard()"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceCompetitor","l":"getRoute()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getRoute(UUID)","u":"getRoute(java.util.UUID)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getRoutes()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getRoutes()"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"getRTKStatus()"},{"p":"com.tractrac.model.lib.api.route","c":"IPathSegment","l":"getSegment()"},{"p":"com.tractrac.model.lib.api.route","c":"IPathSegment","l":"getSegmentIndex()"},{"p":"com.tractrac.model.lib.api.route","c":"IPathRoute","l":"getSegments()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getShortName()"},{"p":"com.tractrac.model.lib.api.map","c":"IMapItem","l":"getShortName()"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"getSpeed()"},{"p":"com.tractrac.model.lib.api.route","c":"IPathSegment","l":"getStartOffset()"},{"p":"com.tractrac.model.lib.api.data","c":"IStartStopData","l":"getStartTime()"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceCompetitor","l":"getStartTime()"},{"p":"com.tractrac.model.lib.api.event","c":"StartTimeType","l":"getStartTime(String)","u":"getStartTime(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getStartTimeType()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getStatus()"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceCompetitor","l":"getStatus()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getStatusLastChangedTime()"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceCompetitor","l":"getStatusLastChangedTime()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getStatusTime()"},{"p":"com.tractrac.model.lib.api.event","c":"IRaceCompetitor","l":"getStatusTime()"},{"p":"com.tractrac.subscription.lib.api.event","c":"ILiveDataEvent","l":"getStatusType()"},{"p":"com.tractrac.model.lib.api.data","c":"IStartStopData","l":"getStopTime()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getStoredURI()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getStoredURI()"},{"p":"com.tractrac.subscription.lib.api","c":"SubscriptionLocator","l":"getSusbcriberFactory()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"getTeam()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getTeams()"},{"p":"com.tractrac.model.lib.api.data","c":"IMessageData","l":"getText()"},{"p":"com.tractrac.model.lib.api.metadata","c":"IMetadata","l":"getText()"},{"p":"com.tractrac.model.lib.api.data","c":"ITimeData","l":"getTimestamp()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ISimplePosition","l":"getTimestamp()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getTrackingEndTime()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getTrackingStartTime()"},{"p":"com.tractrac.model.lib.api.sensor","c":"ISensorData","l":"getTrim()"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"getTrueHeading()"},{"p":"com.tractrac.subscription.lib.api.event","c":"IStoredDataEvent","l":"getType()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IExtent","l":"getULLat()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IExtent","l":"getULLon()"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"getUuid()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"getValue()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"getValue()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"getValue()"},{"p":"com.tractrac.model.lib.api.map","c":"MapItemType","l":"getValue()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"getVisibility()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"getWebURL()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinate","l":"getX()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinate","l":"getY()"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinate","l":"getZ()"},{"p":"com.tractrac.subscription.lib.api.control","c":"IControlPassingsListener","l":"gotControlPassings(long, IRaceCompetitor, IControlPassings)","u":"gotControlPassings(long,com.tractrac.model.lib.api.event.IRaceCompetitor,com.tractrac.model.lib.api.data.IControlPassings)"},{"p":"com.tractrac.subscription.lib.api.event","c":"IEventMessageListener","l":"gotEventMessage(IEvent, IMessageData)","u":"gotEventMessage(com.tractrac.model.lib.api.event.IEvent,com.tractrac.model.lib.api.data.IMessageData)"},{"p":"com.tractrac.subscription.lib.api.event","c":"IConnectionStatusListener","l":"gotLiveDataEvent(ILiveDataEvent)","u":"gotLiveDataEvent(com.tractrac.subscription.lib.api.event.ILiveDataEvent)"},{"p":"com.tractrac.subscription.lib.api.competitor","c":"IPositionListener","l":"gotPosition(IRaceCompetitor, IPosition)","u":"gotPosition(com.tractrac.model.lib.api.event.IRaceCompetitor,com.tractrac.model.lib.api.data.IPosition)"},{"p":"com.tractrac.subscription.lib.api.map","c":"IPositionedItemPositionListener","l":"gotPositionedItemPosition(IPositionedItem, IPosition)","u":"gotPositionedItemPosition(com.tractrac.model.lib.api.map.IPositionedItem,com.tractrac.model.lib.api.data.IPosition)"},{"p":"com.tractrac.subscription.lib.api.competitor","c":"IPositionOffsetListener","l":"gotPositionOffset(IRaceCompetitor, IPositionOffset)","u":"gotPositionOffset(com.tractrac.model.lib.api.event.IRaceCompetitor,com.tractrac.model.lib.api.data.IPositionOffset)"},{"p":"com.tractrac.subscription.lib.api.competitor","c":"IPositionSnappedListener","l":"gotPositionSnapped(IRaceCompetitor, IPositionSnapped)","u":"gotPositionSnapped(com.tractrac.model.lib.api.event.IRaceCompetitor,com.tractrac.model.lib.api.data.IPositionSnapped)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRaceMessageListener","l":"gotRaceMessage(IRace, IMessageData)","u":"gotRaceMessage(com.tractrac.model.lib.api.event.IRace,com.tractrac.model.lib.api.data.IMessageData)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRaceStartStopTimesChangeListener","l":"gotRaceStartStopTime(IRace, IStartStopData)","u":"gotRaceStartStopTime(com.tractrac.model.lib.api.event.IRace,com.tractrac.model.lib.api.data.IStartStopData)"},{"p":"com.tractrac.subscription.lib.api.control","c":"IControlRouteChangeListener","l":"gotRouteChange(IControlRoute, long)","u":"gotRouteChange(com.tractrac.model.lib.api.route.IControlRoute,long)"},{"p":"com.tractrac.subscription.lib.api.control","c":"IControlRouteChangeListener","l":"gotRouteChange(IPathRoute, long)","u":"gotRouteChange(com.tractrac.model.lib.api.route.IPathRoute,long)"},{"p":"com.tractrac.subscription.lib.api.control","c":"IControlPointSensorDataListener","l":"gotSensorData(IMapItem, ISensorData, int)","u":"gotSensorData(com.tractrac.model.lib.api.map.IMapItem,com.tractrac.model.lib.api.sensor.ISensorData,int)"},{"p":"com.tractrac.subscription.lib.api.competitor","c":"ICompetitorSensorDataListener","l":"gotSensorData(IRaceCompetitor, ISensorData)","u":"gotSensorData(com.tractrac.model.lib.api.event.IRaceCompetitor,com.tractrac.model.lib.api.sensor.ISensorData)"},{"p":"com.tractrac.subscription.lib.api.event","c":"IServerTimeListener","l":"gotServerTime(long, long)","u":"gotServerTime(long,long)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IStartStopTimesChangeListener","l":"gotStartStopTime(IStartStopData)","u":"gotStartStopTime(com.tractrac.model.lib.api.data.IStartStopData)"},{"p":"com.tractrac.subscription.lib.api.event","c":"IConnectionStatusListener","l":"gotStoredDataEvent(IStoredDataEvent)","u":"gotStoredDataEvent(com.tractrac.subscription.lib.api.event.IStoredDataEvent)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRaceStartStopTimesChangeListener","l":"gotTrackingStartStopTime(IRace, IStartStopData)","u":"gotTrackingStartStopTime(com.tractrac.model.lib.api.event.IRace,com.tractrac.model.lib.api.data.IStartStopData)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"HIDDEN"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"HIDDEN_STR"},{"p":"com.tractrac.model.lib.api.event","c":"StartTimeType","l":"Individual"},{"p":"com.tractrac.model.lib.api.metadata","c":"IMetadata","l":"isEmpty()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"isFavourite()"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"isGPSTiming()"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"isInitialized()"},{"p":"com.tractrac.model.lib.api.map","c":"IMapItem","l":"isMultiple()"},{"p":"com.tractrac.model.lib.api.event","c":"ICompetitor","l":"isNonCompeting()"},{"p":"com.tractrac.model.lib.api.route","c":"IPathSegment","l":"isReversed()"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriber","l":"isRunning()"},{"p":"com.tractrac.model.lib.api.map","c":"IPositionedItem","l":"isStatic()"},{"p":"com.tractrac.model.lib.api.spatial","c":"IExtent","l":"isValid()"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"loadRaces()"},{"p":"com.tractrac.model.lib.api.route","c":"IPathRoute","l":"locateAlong(double)"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinateSequence","l":"locateAlong(double)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"MIS"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"ModelLocator()","u":"%3Cinit%3E()"},{"p":"com.tractrac.model.lib.api.attachment","c":"IAttachmentManager","l":"newKey(Class, String)","u":"newKey(java.lang.Class,java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"NO_COLLECT"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"NO_DATA"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"NONE"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"NSC"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"OCS"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"OFFICIAL"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"OFFLINE"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"OFFLINE_STR"},{"p":"com.tractrac.model.lib.api.map","c":"MapItemType","l":"OFFSET_MARK"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"OFFSHORESAILING"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"ONLINE"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"ONLINE_STR"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"ORIENTEERING"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"POSTPONED"},{"p":"com.tractrac.subscription.lib.api.event","c":"IStoredDataEvent.Type","l":"Progress"},{"p":"com.tractrac.model.lib.api.event","c":"RaceLoadingException","l":"RaceLoadingException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"StartTimeType","l":"RaceStart"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"RACING"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"RACING"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"RCT"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"registerAttachmentManager(IAttachmentManager)","u":"registerAttachmentManager(com.tractrac.model.lib.api.attachment.IAttachmentManager)"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"registerEventFactory(IEventFactory)","u":"registerEventFactory(com.tractrac.model.lib.api.event.IEventFactory)"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"registerMetadataFactory(IMetadataFactory)","u":"registerMetadataFactory(com.tractrac.model.lib.api.metadata.IMetadataFactory)"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"registerPathRouteFactory(IPathRouteFactory)","u":"registerPathRouteFactory(com.tractrac.model.lib.api.route.IPathRouteFactory)"},{"p":"com.tractrac.model.lib.api","c":"ModelLocator","l":"registerPositionFactory(IPositionFactory)","u":"registerPositionFactory(com.tractrac.model.lib.api.data.IPositionFactory)"},{"p":"com.tractrac.subscription.lib.api","c":"SubscriptionLocator","l":"registerSubscriberFactory(ISubscriberFactory)","u":"registerSubscriberFactory(com.tractrac.subscription.lib.api.ISubscriberFactory)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"reloadFromServer()"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRacesListener","l":"reloadRace(long, UUID)","u":"reloadRace(long,java.util.UUID)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRaceCompetitorListener","l":"removeOffsetPositions(long, UUID, int)","u":"removeOffsetPositions(long,java.util.UUID,int)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"REPLAY"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"REPLAY_STR"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"requiresDate()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"RETIRED"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"ROUTE_SPORT"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"SAILING"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"SCP"},{"p":"com.tractrac.model.lib.api.attachment","c":"AbstractAttachable","l":"setAttachment(IAttachmentKey, Object)","u":"setAttachment(com.tractrac.model.lib.api.attachment.IAttachmentKey,java.lang.Object)"},{"p":"com.tractrac.model.lib.api.attachment","c":"IAttachable","l":"setAttachment(IAttachmentKey, Object)","u":"setAttachment(com.tractrac.model.lib.api.attachment.IAttachmentKey,java.lang.Object)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"setDatasourceURIs(URI, URI, URI)","u":"setDatasourceURIs(java.net.URI,java.net.URI,java.net.URI)"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"setDirection(double)"},{"p":"com.tractrac.model.lib.api.spatial","c":"IGeoCoordinate","l":"setHeight(double)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"setInitialized(boolean)"},{"p":"com.tractrac.model.lib.api.spatial","c":"IGeoCoordinate","l":"setLatitude(double)"},{"p":"com.tractrac.model.lib.api.spatial","c":"IGeoCoordinate","l":"setLongitude(double)"},{"p":"com.tractrac.model.lib.api.spatial","c":"IGeoCoordinate","l":"setM(double)"},{"p":"com.tractrac.model.lib.api.data","c":"IPosition","l":"setSpeed(double)"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinateSequence","l":"size()"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"SKI"},{"p":"com.tractrac.model.lib.api.map","c":"MapItemType","l":"SPREADER_MARK"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"START"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriber","l":"start()"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRacesListener","l":"startTracking(long, UUID)","u":"startTracking(long,java.util.UUID)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriber","l":"stop()"},{"p":"com.tractrac.subscription.lib.api.event","c":"IConnectionStatusListener","l":"stopped(Object)","u":"stopped(java.lang.Object)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"STP"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"subscribeCompetitors(ICompetitorsListener)","u":"subscribeCompetitors(com.tractrac.subscription.lib.api.competitor.ICompetitorsListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeCompetitorSensorData(ICompetitorSensorDataListener)","u":"subscribeCompetitorSensorData(com.tractrac.subscription.lib.api.competitor.ICompetitorSensorDataListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeCompetitorSensorData(ICompetitorSensorDataListener, long, long)","u":"subscribeCompetitorSensorData(com.tractrac.subscription.lib.api.competitor.ICompetitorSensorDataListener,long,long)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriber","l":"subscribeConnectionStatus(IConnectionStatusListener)","u":"subscribeConnectionStatus(com.tractrac.subscription.lib.api.event.IConnectionStatusListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeControlPassings(IControlPassingsListener)","u":"subscribeControlPassings(com.tractrac.subscription.lib.api.control.IControlPassingsListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeControlPassings(IControlPassingsListener, UUID...)","u":"subscribeControlPassings(com.tractrac.subscription.lib.api.control.IControlPassingsListener,java.util.UUID...)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeControlSensorData(IControlPointSensorDataListener)","u":"subscribeControlSensorData(com.tractrac.subscription.lib.api.control.IControlPointSensorDataListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeControlSensorData(IControlPointSensorDataListener, long, long)","u":"subscribeControlSensorData(com.tractrac.subscription.lib.api.control.IControlPointSensorDataListener,long,long)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"subscribeEventMessages(IEventMessageListener)","u":"subscribeEventMessages(com.tractrac.subscription.lib.api.event.IEventMessageListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"subscribeEventTimesChanges(IStartStopTimesChangeListener)","u":"subscribeEventTimesChanges(com.tractrac.subscription.lib.api.race.IStartStopTimesChangeListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"subscribeMapItems(IMapItemsListener)","u":"subscribeMapItems(com.tractrac.subscription.lib.api.map.IMapItemsListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositionedItemPositions(IPositionedItemPositionListener)","u":"subscribePositionedItemPositions(com.tractrac.subscription.lib.api.map.IPositionedItemPositionListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositionedItemPositions(IPositionedItemPositionListener, long, long)","u":"subscribePositionedItemPositions(com.tractrac.subscription.lib.api.map.IPositionedItemPositionListener,long,long)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositions(IPositionListener)","u":"subscribePositions(com.tractrac.subscription.lib.api.competitor.IPositionListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositions(IPositionListener, long, long)","u":"subscribePositions(com.tractrac.subscription.lib.api.competitor.IPositionListener,long,long)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositions(IPositionListener, long, long, UUID...)","u":"subscribePositions(com.tractrac.subscription.lib.api.competitor.IPositionListener,long,long,java.util.UUID...)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositions(IPositionListener, UUID...)","u":"subscribePositions(com.tractrac.subscription.lib.api.competitor.IPositionListener,java.util.UUID...)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositionsOffset(IPositionOffsetListener)","u":"subscribePositionsOffset(com.tractrac.subscription.lib.api.competitor.IPositionOffsetListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositionsOffset(IPositionOffsetListener, long, long)","u":"subscribePositionsOffset(com.tractrac.subscription.lib.api.competitor.IPositionOffsetListener,long,long)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositionsSnapped(IPositionSnappedListener)","u":"subscribePositionsSnapped(com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositionsSnapped(IPositionSnappedListener, long, long)","u":"subscribePositionsSnapped(com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener,long,long)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositionsSnapped(IPositionSnappedListener, long, long, UUID...)","u":"subscribePositionsSnapped(com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener,long,long,java.util.UUID...)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribePositionsSnapped(IPositionSnappedListener, UUID...)","u":"subscribePositionsSnapped(com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener,java.util.UUID...)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeRaceCompetitor(IRaceCompetitorListener)","u":"subscribeRaceCompetitor(com.tractrac.subscription.lib.api.race.IRaceCompetitorListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeRaceMessages(IRaceMessageListener)","u":"subscribeRaceMessages(com.tractrac.subscription.lib.api.race.IRaceMessageListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"subscribeRaces(IRacesListener)","u":"subscribeRaces(com.tractrac.subscription.lib.api.race.IRacesListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeRaceTimesChanges(IRaceStartStopTimesChangeListener)","u":"subscribeRaceTimesChanges(com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener)"},{"p":"com.tractrac.subscription.lib.api","c":"SubscriberInitializationException","l":"SubscriberInitializationException(Exception)","u":"%3Cinit%3E(java.lang.Exception)"},{"p":"com.tractrac.subscription.lib.api","c":"SubscriberInitializationException","l":"SubscriberInitializationException(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"subscribeRouteChanges(IControlRouteChangeListener)","u":"subscribeRouteChanges(com.tractrac.subscription.lib.api.control.IControlRouteChangeListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"subscribeServerTime(IServerTimeListener)","u":"subscribeServerTime(com.tractrac.subscription.lib.api.event.IServerTimeListener)"},{"p":"com.tractrac.subscription.lib.api","c":"SubscriptionLocator","l":"SubscriptionLocator()","u":"%3Cinit%3E()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"TLE"},{"p":"com.tractrac.model.lib.api.spatial","c":"ICoordinateSequence","l":"toArray()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"UFD"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"UNOFFICIAL"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"unsubscribeCompetitors(ICompetitorsListener)","u":"unsubscribeCompetitors(com.tractrac.subscription.lib.api.competitor.ICompetitorsListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribeCompetitorSensorData(ICompetitorSensorDataListener)","u":"unsubscribeCompetitorSensorData(com.tractrac.subscription.lib.api.competitor.ICompetitorSensorDataListener)"},{"p":"com.tractrac.subscription.lib.api","c":"ISubscriber","l":"unsubscribeConnectionStatus(IConnectionStatusListener)","u":"unsubscribeConnectionStatus(com.tractrac.subscription.lib.api.event.IConnectionStatusListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribeControlPassings(IControlPassingsListener)","u":"unsubscribeControlPassings(com.tractrac.subscription.lib.api.control.IControlPassingsListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribeControlSensorData(IControlPointSensorDataListener)","u":"unsubscribeControlSensorData(com.tractrac.subscription.lib.api.control.IControlPointSensorDataListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"unsubscribeEventMessages(IEventMessageListener)","u":"unsubscribeEventMessages(com.tractrac.subscription.lib.api.event.IEventMessageListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"unsubscribeEventTimesChanges(IStartStopTimesChangeListener)","u":"unsubscribeEventTimesChanges(com.tractrac.subscription.lib.api.race.IStartStopTimesChangeListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"unsubscribeMapItems(IMapItemsListener)","u":"unsubscribeMapItems(com.tractrac.subscription.lib.api.map.IMapItemsListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribePositionedItemPositions(IPositionedItemPositionListener)","u":"unsubscribePositionedItemPositions(com.tractrac.subscription.lib.api.map.IPositionedItemPositionListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribePositions(IPositionListener)","u":"unsubscribePositions(com.tractrac.subscription.lib.api.competitor.IPositionListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribePositionsOffset(IPositionOffsetListener)","u":"unsubscribePositionsOffset(com.tractrac.subscription.lib.api.competitor.IPositionOffsetListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribePositionsSnapped(IPositionSnappedListener)","u":"unsubscribePositionsSnapped(com.tractrac.subscription.lib.api.competitor.IPositionSnappedListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribeRaceCompetitor(IRaceCompetitorListener)","u":"unsubscribeRaceCompetitor(com.tractrac.subscription.lib.api.race.IRaceCompetitorListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribeRaceMessages(IRaceMessageListener)","u":"unsubscribeRaceMessages(com.tractrac.subscription.lib.api.race.IRaceMessageListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"unsubscribeRaces(IRacesListener)","u":"unsubscribeRaces(com.tractrac.subscription.lib.api.race.IRacesListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribeRaceTimesChanges(IRaceStartStopTimesChangeListener)","u":"unsubscribeRaceTimesChanges(com.tractrac.subscription.lib.api.race.IRaceStartStopTimesChangeListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IRaceSubscriber","l":"unsubscribeRouteChanges(IControlRouteChangeListener)","u":"unsubscribeRouteChanges(com.tractrac.subscription.lib.api.control.IControlRouteChangeListener)"},{"p":"com.tractrac.subscription.lib.api","c":"IEventSubscriber","l":"unsubscribeServerTime(IServerTimeListener)","u":"unsubscribeServerTime(com.tractrac.subscription.lib.api.event.IServerTimeListener)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"UPCOMING"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"UPCOMING_STR"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"updateCompetitor(ICompetitor)","u":"updateCompetitor(com.tractrac.model.lib.api.event.ICompetitor)"},{"p":"com.tractrac.subscription.lib.api.competitor","c":"ICompetitorsListener","l":"updateCompetitor(long, ICompetitor)","u":"updateCompetitor(long,com.tractrac.model.lib.api.event.ICompetitor)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"updateControl(IMapItem)","u":"updateControl(com.tractrac.model.lib.api.map.IMapItem)"},{"p":"com.tractrac.subscription.lib.api.map","c":"IMapItemsListener","l":"updateMapItem(long, IMapItem)","u":"updateMapItem(long,com.tractrac.model.lib.api.map.IMapItem)"},{"p":"com.tractrac.model.lib.api.event","c":"IEvent","l":"updateRace(IRace)","u":"updateRace(com.tractrac.model.lib.api.event.IRace)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRacesListener","l":"updateRace(long, IRace)","u":"updateRace(long,com.tractrac.model.lib.api.event.IRace)"},{"p":"com.tractrac.model.lib.api.event","c":"IRace","l":"updateRaceCompetitor(IRaceCompetitor)","u":"updateRaceCompetitor(com.tractrac.model.lib.api.event.IRaceCompetitor)"},{"p":"com.tractrac.subscription.lib.api.race","c":"IRaceCompetitorListener","l":"updateRaceCompetitor(long, IRaceCompetitor)","u":"updateRaceCompetitor(long,com.tractrac.model.lib.api.event.IRaceCompetitor)"},{"p":"com.tractrac.subscription.lib.api.route","c":"IRoutesListener","l":"updateRoute(IRoute)","u":"updateRoute(com.tractrac.model.lib.api.route.IRoute)"},{"p":"com.tractrac.model.lib.api.event","c":"DataSource","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"StartTimeType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.tractrac.model.lib.api.map","c":"MapItemType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.tractrac.subscription.lib.api.event","c":"ILiveDataEvent.StatusType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.tractrac.subscription.lib.api.event","c":"IStoredDataEvent.Type","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.tractrac.model.lib.api.event","c":"DataSource","l":"values()"},{"p":"com.tractrac.model.lib.api.event","c":"EventType","l":"values()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceCompetitorStatusType","l":"values()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceStatusType","l":"values()"},{"p":"com.tractrac.model.lib.api.event","c":"RaceVisibilityType","l":"values()"},{"p":"com.tractrac.model.lib.api.event","c":"StartTimeType","l":"values()"},{"p":"com.tractrac.model.lib.api.map","c":"MapItemType","l":"values()"},{"p":"com.tractrac.subscription.lib.api.event","c":"ILiveDataEvent.StatusType","l":"values()"},{"p":"com.tractrac.subscription.lib.api.event","c":"IStoredDataEvent.Type","l":"values()"}];updateSearchResults(); \ No newline at end of file diff --git a/java/com.tractrac.clientmodule/javadoc/module-search-index.js b/java/com.tractrac.clientmodule/javadoc/module-search-index.js new file mode 100644 index 00000000000..0d59754fc4a --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/java/com.tractrac.clientmodule/javadoc/options b/java/com.tractrac.clientmodule/javadoc/options new file mode 100644 index 00000000000..aa8bcd5402c --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/options @@ -0,0 +1,24 @@ +-classpath +'/home/jorge/.m2/repository/com/tractrac/model-lib-api/5.0.0/model-lib-api-5.0.0.jar:/home/jorge/.m2/repository/com/tractrac/common-lib-api/5.0.0-SNAPSHOT/common-lib-api-5.0.0-SNAPSHOT.jar:/home/jorge/.m2/repository/org/json/json/20240303/json-20240303.jar:/home/jorge/.m2/repository/com/tractrac/subscription-lib-api/5.0.0/subscription-lib-api-5.0.0.jar:/home/jorge/.m2/repository/com/tractrac/util-lib-api/5.0.0-SNAPSHOT/util-lib-api-5.0.0-SNAPSHOT.jar' +-encoding +'Windows-1252' +-protected +-sourcepath +'/home/jorge/TracTrac/src/daemons-java/subscription/app/tracapi/src/main/java:/home/jorge/TracTrac/src/daemons-java/subscription/app/tracapi/target/distro-javadoc-sources/model-lib-api-5.0.0-sources:/home/jorge/TracTrac/src/daemons-java/subscription/app/tracapi/target/distro-javadoc-sources/subscription-lib-api-5.0.0-sources' +-author +-bottom +'Copyright © 2025 TracTrac. All rights reserved.' +-charset +'UTF-8' +-d +'/home/jorge/TracTrac/src/daemons-java/subscription/app/tracapi/target/site/apidocs' +-docencoding +'UTF-8' +-doctitle +'TracAPI 5.0.0' +-linkoffline +'https://docs.oracle.com/javase/8/docs/api' '/home/jorge/TracTrac/src/daemons-java/subscription/app/tracapi/target/javadoc-bundle-options' +-use +-version +-windowtitle +'Subscription - Applications - TracAPI 5.0.0 API' diff --git a/java/com.tractrac.clientmodule/javadoc/overview-frame.html b/java/com.tractrac.clientmodule/javadoc/overview-frame.html deleted file mode 100644 index ce14b12bacd..00000000000 --- a/java/com.tractrac.clientmodule/javadoc/overview-frame.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - -Overview List (Subscription - Applications - TracAPI 4.0.2 API) - - - - - - - -

     

    - - diff --git a/java/com.tractrac.clientmodule/javadoc/overview-summary.html b/java/com.tractrac.clientmodule/javadoc/overview-summary.html index a52e7a10ac4..512274ec010 100644 --- a/java/com.tractrac.clientmodule/javadoc/overview-summary.html +++ b/java/com.tractrac.clientmodule/javadoc/overview-summary.html @@ -1,242 +1,26 @@ - - + - + +Subscription - Applications - TracAPI 5.0.0 API + -Overview (Subscription - Applications - TracAPI 4.0.2 API) - + + + + - - - - + - -
    - - - - - - - -
    - - -
    -

    TracAPI 4.0.2

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Packages 
    PackageDescription
    com.tractrac.model.lib.api -
    - Main package of the model project.
    -
    com.tractrac.model.lib.api.attachment -
    - Contains the functionality to attach an object to other object.
    -
    com.tractrac.model.lib.api.data -
    - Contains positions and control passings
    -
    com.tractrac.model.lib.api.event -
    - Events, races and competitors
    -
    com.tractrac.model.lib.api.map 
    com.tractrac.model.lib.api.metadata -
    - The metadata functionality
    -
    com.tractrac.model.lib.api.route -
    - The route configuration: controls, paths and routes
    -
    com.tractrac.model.lib.api.sensor -
    - Sensor data interfaces
    -
    com.tractrac.model.lib.api.spatial -
    - The spatial data
    -
    com.tractrac.subscription.lib.api -
    - Contains the classes used to add a subscription to an event.
    -
    com.tractrac.subscription.lib.api.competitor -
    - Subscriptions related with competitors and positions
    -
    com.tractrac.subscription.lib.api.control -
    - Subscriptions related with the controls and control passings
    -
    com.tractrac.subscription.lib.api.event -
    - Subscriptions related with the event and/or the connection
    -
    com.tractrac.subscription.lib.api.map 
    com.tractrac.subscription.lib.api.race -
    - Subscriptions related with the races
    -
    com.tractrac.subscription.lib.api.route -
    - Subscriptions related with the routes
    -
    -
    - -
    - - - - - - - -
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    + + +
    + +

    index.html

    +
    diff --git a/java/com.tractrac.clientmodule/javadoc/overview-tree.html b/java/com.tractrac.clientmodule/javadoc/overview-tree.html index 0de7eacf6c9..207a2274a71 100644 --- a/java/com.tractrac.clientmodule/javadoc/overview-tree.html +++ b/java/com.tractrac.clientmodule/javadoc/overview-tree.html @@ -1,79 +1,59 @@ - - + - + +Class Hierarchy (Subscription - Applications - TracAPI 5.0.0 API) + -Class Hierarchy (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
    + + -
    +

    Class Hierarchy

    +
    +

    Interface Hierarchy

    -

    Enum Hierarchy

    + +
  • com.tractrac.subscription.lib.api.event.ILiveDataEvent
  • +
  • com.tractrac.subscription.lib.api.event.IMessage
  • +
  • com.tractrac.model.lib.api.metadata.IMetadata
  • +
  • com.tractrac.model.lib.api.route.IPathSegment
  • +
  • com.tractrac.model.lib.api.metadata.IPropertiesContainer +
  • +
  • com.tractrac.subscription.lib.api.race.IRaceCompetitorListener
  • +
  • com.tractrac.subscription.lib.api.race.IRaceMessageListener
  • +
  • com.tractrac.util.lib.api.serialize.ISerializable + +
  • +
  • com.tractrac.common.lib.api.service.IServiceProvider + +
  • +
  • com.tractrac.model.lib.api.spatial.ISimplePosition
  • +
  • com.tractrac.model.lib.api.data.IStartStopData
  • +
  • com.tractrac.subscription.lib.api.event.IStoredDataEvent
  • +
  • com.tractrac.subscription.lib.api.ISubscriber + +
  • +
  • com.tractrac.subscription.lib.api.ISubscriberListener + +
  • +
  • com.tractrac.model.lib.api.data.ITimeData + +
  • + +
    +
    +

    Enum Class Hierarchy

    + +
    + +
    +
    + +
    - -
    - - - - - - -
    - - -

    Copyright © 2025 TracTrac. All rights reserved.

    diff --git a/java/com.tractrac.clientmodule/javadoc/package-search-index.js b/java/com.tractrac.clientmodule/javadoc/package-search-index.js new file mode 100644 index 00000000000..09681779f03 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"com.tractrac.model.lib.api"},{"l":"com.tractrac.model.lib.api.attachment"},{"l":"com.tractrac.model.lib.api.data"},{"l":"com.tractrac.model.lib.api.event"},{"l":"com.tractrac.model.lib.api.map"},{"l":"com.tractrac.model.lib.api.metadata"},{"l":"com.tractrac.model.lib.api.route"},{"l":"com.tractrac.model.lib.api.sensor"},{"l":"com.tractrac.model.lib.api.spatial"},{"l":"com.tractrac.subscription.lib.api"},{"l":"com.tractrac.subscription.lib.api.competitor"},{"l":"com.tractrac.subscription.lib.api.control"},{"l":"com.tractrac.subscription.lib.api.event"},{"l":"com.tractrac.subscription.lib.api.map"},{"l":"com.tractrac.subscription.lib.api.race"},{"l":"com.tractrac.subscription.lib.api.route"}];updateSearchResults(); \ No newline at end of file diff --git a/java/com.tractrac.clientmodule/javadoc/packages b/java/com.tractrac.clientmodule/javadoc/packages new file mode 100644 index 00000000000..c4caff577d8 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/packages @@ -0,0 +1,16 @@ +com.tractrac.model.lib.api.attachment +com.tractrac.model.lib.api.spatial +com.tractrac.model.lib.api.route +com.tractrac.model.lib.api.sensor +com.tractrac.model.lib.api +com.tractrac.model.lib.api.data +com.tractrac.model.lib.api.map +com.tractrac.model.lib.api.metadata +com.tractrac.model.lib.api.event +com.tractrac.subscription.lib.api +com.tractrac.subscription.lib.api.route +com.tractrac.subscription.lib.api.competitor +com.tractrac.subscription.lib.api.map +com.tractrac.subscription.lib.api.control +com.tractrac.subscription.lib.api.event +com.tractrac.subscription.lib.api.race \ No newline at end of file diff --git a/java/com.tractrac.clientmodule/javadoc/resources/glass.png b/java/com.tractrac.clientmodule/javadoc/resources/glass.png new file mode 100644 index 00000000000..a7f591f467a Binary files /dev/null and b/java/com.tractrac.clientmodule/javadoc/resources/glass.png differ diff --git a/java/com.tractrac.clientmodule/javadoc/resources/x.png b/java/com.tractrac.clientmodule/javadoc/resources/x.png new file mode 100644 index 00000000000..30548a756e1 Binary files /dev/null and b/java/com.tractrac.clientmodule/javadoc/resources/x.png differ diff --git a/java/com.tractrac.clientmodule/javadoc/script-dir/jquery-3.7.1.min.js b/java/com.tractrac.clientmodule/javadoc/script-dir/jquery-3.7.1.min.js new file mode 100644 index 00000000000..7f37b5d9912 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/script-dir/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
    "),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
      ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
      ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
      ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
      ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file diff --git a/java/com.tractrac.clientmodule/javadoc/script.js b/java/com.tractrac.clientmodule/javadoc/script.js index b3463569314..f1a0f25646a 100644 --- a/java/com.tractrac.clientmodule/javadoc/script.js +++ b/java/com.tractrac.clientmodule/javadoc/script.js @@ -1,30 +1,253 @@ -function show(type) -{ - count = 0; - for (var key in methods) { - var row = document.getElementById(key); - if ((methods[key] & type) != 0) { - row.style.display = ''; - row.className = (count++ % 2) ? rowColor : altColor; - } - else - row.style.display = 'none'; - } - updateTabs(type); +/* + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; + +var oddRowColor = "odd-row-color"; +var evenRowColor = "even-row-color"; +var sortAsc = "sort-asc"; +var sortDesc = "sort-desc"; +var tableTab = "table-tab"; +var activeTableTab = "active-table-tab"; + +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); } -function updateTabs(type) -{ - for (var value in tabs) { - var sNode = document.getElementById(tabs[value][0]); - var spanNode = sNode.firstChild; - if (value == type) { - sNode.className = activeTableTab; - spanNode.innerHTML = tabs[value][1]; +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +// Helper for making content containing release names comparable lexicographically +function makeComparable(s) { + return s.toLowerCase().replace(/(\d+)/g, + function(n, m) { + return ("000" + m).slice(-4); + }); +} + +// Switches between two styles depending on a condition +function toggleStyle(classList, condition, trueStyle, falseStyle) { + if (condition) { + classList.remove(falseStyle); + classList.add(trueStyle); + } else { + classList.remove(trueStyle); + classList.add(falseStyle); + } +} + +// Sorts the rows in a table lexicographically by the content of a specific column +function sortTable(header, columnIndex, columns) { + var container = header.parentElement; + var descending = header.classList.contains(sortAsc); + container.querySelectorAll("div.table-header").forEach( + function(header) { + header.classList.remove(sortAsc); + header.classList.remove(sortDesc); } - else { - sNode.className = tableTab; - spanNode.innerHTML = "" + tabs[value][1] + ""; + ) + var cells = container.children; + var rows = []; + for (var i = columns; i < cells.length; i += columns) { + rows.push(Array.prototype.slice.call(cells, i, i + columns)); + } + var comparator = function(a, b) { + var ka = makeComparable(a[columnIndex].textContent); + var kb = makeComparable(b[columnIndex].textContent); + if (ka < kb) + return descending ? 1 : -1; + if (ka > kb) + return descending ? -1 : 1; + return 0; + }; + var sorted = rows.sort(comparator); + var visible = 0; + sorted.forEach(function(row) { + if (row[0].style.display !== 'none') { + var isEvenRow = visible++ % 2 === 0; + } + row.forEach(function(cell) { + toggleStyle(cell.classList, isEvenRow, evenRowColor, oddRowColor); + container.appendChild(cell); + }) + }); + toggleStyle(header.classList, descending, sortDesc, sortAsc); +} + +// Toggles the visibility of a table category in all tables in a page +function toggleGlobal(checkbox, selected, columns) { + var display = checkbox.checked ? '' : 'none'; + document.querySelectorAll("div.table-tabs").forEach(function(t) { + var id = t.parentElement.getAttribute("id"); + var selectedClass = id + "-tab" + selected; + // if selected is empty string it selects all uncategorized entries + var selectUncategorized = !Boolean(selected); + var visible = 0; + document.querySelectorAll('div.' + id) + .forEach(function(elem) { + if (selectUncategorized) { + if (elem.className.indexOf(selectedClass) === -1) { + elem.style.display = display; + } + } else if (elem.classList.contains(selectedClass)) { + elem.style.display = display; + } + if (elem.style.display === '') { + var isEvenRow = visible++ % (columns * 2) < columns; + toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor); + } + }); + var displaySection = visible === 0 ? 'none' : ''; + t.parentElement.style.display = displaySection; + document.querySelector("li#contents-" + id).style.display = displaySection; + }) +} + +// Shows the elements of a table belonging to a specific category +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.querySelector('div#' + tableId +' .summary-table') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); } } } + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} +// Copy the contents of the local snippet to the clipboard +function copySnippet(button) { + copyToClipboard(button.nextElementSibling.innerText); + switchCopyLabel(button, button.firstElementChild); +} +function copyToClipboard(content) { + var textarea = document.createElement("textarea"); + textarea.style.height = 0; + document.body.appendChild(textarea); + textarea.value = content; + textarea.select(); + document.execCommand("copy"); + document.body.removeChild(textarea); +} +function switchCopyLabel(button, span) { + var copied = span.getAttribute("data-copied"); + button.classList.add("visible"); + var initialLabel = span.innerHTML; + span.innerHTML = copied; + setTimeout(function() { + button.classList.remove("visible"); + setTimeout(function() { + if (initialLabel !== copied) { + span.innerHTML = initialLabel; + } + }, 100); + }, 1900); +} +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + var timeoutId; + contentDiv.addEventListener("scroll", function(e) { + if (timeoutId) { + clearTimeout(timeoutId); + } + timeoutId = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + }, 100); + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/java/com.tractrac.clientmodule/javadoc/search-page.js b/java/com.tractrac.clientmodule/javadoc/search-page.js new file mode 100644 index 00000000000..e4da097d948 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/search-page.js @@ -0,0 +1,284 @@ +/* + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ + +"use strict"; +$(function() { + var copy = $("#page-search-copy"); + var expand = $("#page-search-expand"); + var searchLink = $("span#page-search-link"); + var redirect = $("input#search-redirect"); + function setSearchUrlTemplate() { + var href = document.location.href.split(/[#?]/)[0]; + href += "?q=" + "%s"; + if (redirect.is(":checked")) { + href += "&r=1"; + } + searchLink.html(href); + copy[0].onmouseenter(); + } + function copyLink(e) { + copyToClipboard(this.previousSibling.innerText); + switchCopyLabel(this, this.lastElementChild); + } + copy.click(copyLink); + copy[0].onmouseenter = function() {}; + redirect.click(setSearchUrlTemplate); + setSearchUrlTemplate(); + copy.prop("disabled", false); + redirect.prop("disabled", false); + expand.click(function (e) { + var searchInfo = $("div.page-search-info"); + if(this.parentElement.hasAttribute("open")) { + searchInfo.attr("style", "border-width: 0;"); + } else { + searchInfo.attr("style", "border-width: 1px;").height(searchInfo.prop("scrollHeight")); + } + }); +}); +$(window).on("load", function() { + var input = $("#page-search-input"); + var reset = $("#page-search-reset"); + var notify = $("#page-search-notify"); + var resultSection = $("div#result-section"); + var resultContainer = $("div#result-container"); + var searchTerm = ""; + var activeTab = ""; + var fixedTab = false; + var visibleTabs = []; + var feelingLucky = false; + function renderResults(result) { + if (!result.length) { + notify.html(messages.noResult); + } else if (result.length === 1) { + notify.html(messages.oneResult); + } else { + notify.html(messages.manyResults.replace("{0}", result.length)); + } + resultContainer.empty(); + var r = { + "types": [], + "members": [], + "packages": [], + "modules": [], + "searchTags": [] + }; + for (var i in result) { + var item = result[i]; + var arr = r[item.category]; + arr.push(item); + } + if (!activeTab || r[activeTab].length === 0 || !fixedTab) { + Object.keys(r).reduce(function(prev, curr) { + if (r[curr].length > 0 && r[curr][0].score > prev) { + activeTab = curr; + return r[curr][0].score; + } + return prev; + }, 0); + } + if (feelingLucky && activeTab) { + notify.html(messages.redirecting) + var firstItem = r[activeTab][0]; + window.location = getURL(firstItem.indexItem, firstItem.category); + return; + } + if (result.length > 20) { + if (searchTerm[searchTerm.length - 1] === ".") { + if (activeTab === "types" && r["members"].length > r["types"].length) { + activeTab = "members"; + } else if (activeTab === "packages" && r["types"].length > r["packages"].length) { + activeTab = "types"; + } + } + } + var categoryCount = Object.keys(r).reduce(function(prev, curr) { + return prev + (r[curr].length > 0 ? 1 : 0); + }, 0); + visibleTabs = []; + var tabContainer = $("
      ").appendTo(resultContainer); + for (var key in r) { + var id = "#result-tab-" + key.replace("searchTags", "search_tags"); + if (r[key].length) { + var count = r[key].length >= 1000 ? "999+" : r[key].length; + if (result.length > 20 && categoryCount > 1) { + var button = $("").appendTo(tabContainer); + button.click(key, function(e) { + fixedTab = true; + renderResult(e.data, $(this)); + }); + visibleTabs.push(key); + } else { + $("" + categories[key] + + " (" + count + ")").appendTo(tabContainer); + renderTable(key, r[key]).appendTo(resultContainer); + tabContainer = $("
      ").appendTo(resultContainer); + + } + } + } + if (activeTab && result.length > 20 && categoryCount > 1) { + $("button#result-tab-" + activeTab).addClass("active-table-tab"); + renderTable(activeTab, r[activeTab]).appendTo(resultContainer); + } + resultSection.show(); + function renderResult(category, button) { + activeTab = category; + setSearchUrl(); + resultContainer.find("div.summary-table").remove(); + renderTable(activeTab, r[activeTab]).appendTo(resultContainer); + button.siblings().removeClass("active-table-tab"); + button.addClass("active-table-tab"); + } + } + function selectTab(category) { + $("button#result-tab-" + category).click(); + } + function renderTable(category, items) { + var table = $("
      ") + .addClass(category === "modules" + ? "one-column-search-results" + : "two-column-search-results"); + var col1, col2; + if (category === "modules") { + col1 = "Module"; + } else if (category === "packages") { + col1 = "Module"; + col2 = "Package"; + } else if (category === "types") { + col1 = "Package"; + col2 = "Class" + } else if (category === "members") { + col1 = "Class"; + col2 = "Member"; + } else if (category === "searchTags") { + col1 = "Location"; + col2 = "Name"; + } + $("
      " + col1 + "
      ").appendTo(table); + if (category !== "modules") { + $("
      " + col2 + "
      ").appendTo(table); + } + $.each(items, function(index, item) { + var rowColor = index % 2 ? "odd-row-color" : "even-row-color"; + renderItem(item, table, rowColor); + }); + return table; + } + function renderItem(item, table, rowColor) { + var label = getHighlightedText(item.input, item.boundaries, item.prefix.length, item.input.length); + var link = $("") + .attr("href", getURL(item.indexItem, item.category)) + .attr("tabindex", "0") + .addClass("search-result-link") + .html(label); + var container = getHighlightedText(item.input, item.boundaries, 0, item.prefix.length - 1); + if (item.category === "searchTags") { + container = item.indexItem.h || ""; + } + if (item.category !== "modules") { + $("
      ").html(container).addClass("col-plain").addClass(rowColor).appendTo(table); + } + $("
      ").html(link).addClass("col-last").addClass(rowColor).appendTo(table); + } + var timeout; + function schedulePageSearch() { + if (timeout) { + clearTimeout(timeout); + } + timeout = setTimeout(function () { + doPageSearch() + }, 100); + } + function doPageSearch() { + setSearchUrl(); + var term = searchTerm = input.val().trim(); + if (term === "") { + notify.html(messages.enterTerm); + activeTab = ""; + fixedTab = false; + resultContainer.empty(); + resultSection.hide(); + } else { + notify.html(messages.searching); + doSearch({ term: term, maxResults: 1200 }, renderResults); + } + } + function setSearchUrl() { + var query = input.val().trim(); + var url = document.location.pathname; + if (query) { + url += "?q=" + encodeURI(query); + if (activeTab && fixedTab) { + url += "&c=" + activeTab; + } + } + history.replaceState({query: query}, "", url); + } + input.on("input", function(e) { + feelingLucky = false; + schedulePageSearch(); + }); + $(document).keydown(function(e) { + if ((e.ctrlKey || e.metaKey) && (e.key === "ArrowLeft" || e.key === "ArrowRight")) { + if (activeTab && visibleTabs.length > 1) { + var idx = visibleTabs.indexOf(activeTab); + idx += e.key === "ArrowLeft" ? visibleTabs.length - 1 : 1; + selectTab(visibleTabs[idx % visibleTabs.length]); + return false; + } + } + }); + reset.click(function() { + notify.html(messages.enterTerm); + resultSection.hide(); + activeTab = ""; + fixedTab = false; + resultContainer.empty(); + input.val('').focus(); + setSearchUrl(); + }); + input.prop("disabled", false); + reset.prop("disabled", false); + + var urlParams = new URLSearchParams(window.location.search); + if (urlParams.has("q")) { + input.val(urlParams.get("q")) + } + if (urlParams.has("c")) { + activeTab = urlParams.get("c"); + fixedTab = true; + } + if (urlParams.get("r")) { + feelingLucky = true; + } + if (input.val()) { + doPageSearch(); + } else { + notify.html(messages.enterTerm); + } + input.select().focus(); +}); diff --git a/java/com.tractrac.clientmodule/javadoc/search.html b/java/com.tractrac.clientmodule/javadoc/search.html new file mode 100644 index 00000000000..d6f1876e5ba --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/search.html @@ -0,0 +1,78 @@ + + + + +Search (Subscription - Applications - TracAPI 5.0.0 API) + + + + + + + + + + + + + + +
      + +
      +
      +

      Search

      +
      + + +
      +Additional resources +
      +
      +
      +

      The help page provides an introduction to the scope and syntax of JavaDoc search.

      +

      You can use the <ctrl> or <cmd> keys in combination with the left and right arrow keys to switch between result tabs in this page.

      +

      The URL template below may be used to configure this page as a search engine in browsers that support this feature. It has been tested to work in Google Chrome and Mozilla Firefox. Note that other browsers may not support this feature or require a different URL format.

      +link +

      + +

      +
      +

      Loading search index...

      + +
      +
      +
      + +
      +
      +
      + + diff --git a/java/com.tractrac.clientmodule/javadoc/search.js b/java/com.tractrac.clientmodule/javadoc/search.js new file mode 100644 index 00000000000..4ca95577381 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/search.js @@ -0,0 +1,458 @@ +/* + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. + * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + */ +"use strict"; +const messages = { + enterTerm: "Enter a search term", + noResult: "No results found", + oneResult: "Found one result", + manyResults: "Found {0} results", + loading: "Loading search index...", + searching: "Searching...", + redirecting: "Redirecting to first result...", + linkIcon: "Link icon", + linkToSection: "Link to this section" +} +const categories = { + modules: "Modules", + packages: "Packages", + types: "Classes and Interfaces", + members: "Members", + searchTags: "Search Tags" +}; +const highlight = "$&"; +const NO_MATCH = {}; +const MAX_RESULTS = 300; +function checkUnnamed(name, separator) { + return name === "" || !name ? "" : name + separator; +} +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(str, boundaries, from, to) { + var start = from; + var text = ""; + for (var i = 0; i < boundaries.length; i += 2) { + var b0 = boundaries[i]; + var b1 = boundaries[i + 1]; + if (b0 >= to || b1 <= from) { + continue; + } + text += escapeHtml(str.slice(start, Math.max(start, b0))); + text += ""; + text += escapeHtml(str.slice(Math.max(start, b0), Math.min(to, b1))); + text += ""; + start = Math.min(to, b1); + } + text += escapeHtml(str.slice(start, to)); + return text; +} +function getURLPrefix(item, category) { + var urlPrefix = ""; + var slash = "/"; + if (category === "modules") { + return item.l + slash; + } else if (category === "packages" && item.m) { + return item.m + slash; + } else if (category === "types" || category === "members") { + if (item.m) { + urlPrefix = item.m + slash; + } else { + $.each(packageSearchIndex, function(index, it) { + if (it.m && item.p === it.l) { + urlPrefix = it.m + slash; + } + }); + } + } + return urlPrefix; +} +function getURL(item, category) { + if (item.url) { + return item.url; + } + var url = getURLPrefix(item, category); + if (category === "modules") { + url += "module-summary.html"; + } else if (category === "packages") { + if (item.u) { + url = item.u; + } else { + url += item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (category === "types") { + if (item.u) { + url = item.u; + } else { + url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.l + ".html"; + } + } else if (category === "members") { + url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.c + ".html" + "#"; + if (item.u) { + url += item.u; + } else { + url += item.l; + } + } else if (category === "searchTags") { + url += item.u; + } + item.url = url; + return url; +} +function createMatcher(term, camelCase) { + if (camelCase && !isUpperCase(term)) { + return null; // no need for camel-case matcher for lower case query + } + var pattern = ""; + var upperCase = []; + term.trim().split(/\s+/).forEach(function(w, index, array) { + var tokens = w.split(/(?=[A-Z,.()<>?[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + // ',' and '?' are the only delimiters commonly followed by space in java signatures + pattern += "(" + $.ui.autocomplete.escapeRegex(s).replace(/[,?]/g, "$&\\s*?") + ")"; + upperCase.push(false); + var isWordToken = /\w$/.test(s); + if (isWordToken) { + if (i === tokens.length - 1 && index < array.length - 1) { + // space in query string matches all delimiters + pattern += "(.*?)"; + upperCase.push(isUpperCase(s[0])); + } else { + if (!camelCase && isUpperCase(s) && s.length === 1) { + pattern += "()"; + } else { + pattern += "([a-z0-9$<>?[\\]]*?)"; + } + upperCase.push(isUpperCase(s[0])); + } + } else { + pattern += "()"; + upperCase.push(false); + } + } + }); + var re = new RegExp(pattern, "gi"); + re.upperCase = upperCase; + return re; +} +function findMatch(matcher, input, startOfName, endOfName) { + var from = startOfName; + matcher.lastIndex = from; + var match = matcher.exec(input); + // Expand search area until we get a valid result or reach the beginning of the string + while (!match || match.index + match[0].length < startOfName || endOfName < match.index) { + if (from === 0) { + return NO_MATCH; + } + from = input.lastIndexOf(".", from - 2) + 1; + matcher.lastIndex = from; + match = matcher.exec(input); + } + var boundaries = []; + var matchEnd = match.index + match[0].length; + var score = 5; + var start = match.index; + var prevEnd = -1; + for (var i = 1; i < match.length; i += 2) { + var isUpper = isUpperCase(input[start]); + var isMatcherUpper = matcher.upperCase[i]; + // capturing groups come in pairs, match and non-match + boundaries.push(start, start + match[i].length); + // make sure groups are anchored on a left word boundary + var prevChar = input[start - 1] || ""; + var nextChar = input[start + 1] || ""; + if (start !== 0 && !/[\W_]/.test(prevChar) && !/[\W_]/.test(input[start])) { + if (isUpper && (isLowerCase(prevChar) || isLowerCase(nextChar))) { + score -= 0.1; + } else if (isMatcherUpper && start === prevEnd) { + score -= isUpper ? 0.1 : 1.0; + } else { + return NO_MATCH; + } + } + prevEnd = start + match[i].length; + start += match[i].length + match[i + 1].length; + + // lower score for parts of the name that are missing + if (match[i + 1] && prevEnd < endOfName) { + score -= rateNoise(match[i + 1]); + } + } + // lower score if a type name contains unmatched camel-case parts + if (input[matchEnd - 1] !== "." && endOfName > matchEnd) + score -= rateNoise(input.slice(matchEnd, endOfName)); + score -= rateNoise(input.slice(0, Math.max(startOfName, match.index))); + + if (score <= 0) { + return NO_MATCH; + } + return { + input: input, + score: score, + boundaries: boundaries + }; +} +function isUpperCase(s) { + return s !== s.toLowerCase(); +} +function isLowerCase(s) { + return s !== s.toUpperCase(); +} +function rateNoise(str) { + return (str.match(/([.(])/g) || []).length / 5 + + (str.match(/([A-Z]+)/g) || []).length / 10 + + str.length / 20; +} +function doSearch(request, response) { + var term = request.term.trim(); + var maxResults = request.maxResults || MAX_RESULTS; + if (term.length === 0) { + return this.close(); + } + var matcher = { + plainMatcher: createMatcher(term, false), + camelCaseMatcher: createMatcher(term, true) + } + var indexLoaded = indexFilesLoaded(); + + function getPrefix(item, category) { + switch (category) { + case "packages": + return checkUnnamed(item.m, "/"); + case "types": + return checkUnnamed(item.p, "."); + case "members": + return checkUnnamed(item.p, ".") + item.c + "."; + default: + return ""; + } + } + function useQualifiedName(category) { + switch (category) { + case "packages": + return /[\s/]/.test(term); + case "types": + case "members": + return /[\s.]/.test(term); + default: + return false; + } + } + function searchIndex(indexArray, category) { + var matches = []; + if (!indexArray) { + if (!indexLoaded) { + matches.push({ l: messages.loading, category: category }); + } + return matches; + } + $.each(indexArray, function (i, item) { + var prefix = getPrefix(item, category); + var simpleName = item.l; + var qualifiedName = prefix + simpleName; + var useQualified = useQualifiedName(category); + var input = useQualified ? qualifiedName : simpleName; + var startOfName = useQualified ? prefix.length : 0; + var endOfName = category === "members" && input.indexOf("(", startOfName) > -1 + ? input.indexOf("(", startOfName) : input.length; + var m = findMatch(matcher.plainMatcher, input, startOfName, endOfName); + if (m === NO_MATCH && matcher.camelCaseMatcher) { + m = findMatch(matcher.camelCaseMatcher, input, startOfName, endOfName); + } + if (m !== NO_MATCH) { + m.indexItem = item; + m.prefix = prefix; + m.category = category; + if (!useQualified) { + m.input = qualifiedName; + m.boundaries = m.boundaries.map(function(b) { + return b + prefix.length; + }); + } + matches.push(m); + } + return true; + }); + return matches.sort(function(e1, e2) { + return e2.score - e1.score; + }).slice(0, maxResults); + } + + var result = searchIndex(moduleSearchIndex, "modules") + .concat(searchIndex(packageSearchIndex, "packages")) + .concat(searchIndex(typeSearchIndex, "types")) + .concat(searchIndex(memberSearchIndex, "members")) + .concat(searchIndex(tagSearchIndex, "searchTags")); + + if (!indexLoaded) { + updateSearchResults = function() { + doSearch(request, response); + } + } else { + updateSearchResults = function() {}; + } + response(result); +} +// JQuery search menu implementation +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> .result-item"); + // workaround for search result scrolling + this.menu._scrollIntoView = function _scrollIntoView( item ) { + var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; + if ( this._hasScroll() ) { + borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0; + paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0; + offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; + scroll = this.activeMenu.scrollTop(); + elementHeight = this.activeMenu.height() - 26; + itemHeight = item.outerHeight(); + + if ( offset < 0 ) { + this.activeMenu.scrollTop( scroll + offset ); + } else if ( offset + itemHeight > elementHeight ) { + this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); + } + } + }; + }, + _renderMenu: function(ul, items) { + var currentCategory = ""; + var widget = this; + widget.menu.bindings = $(); + $.each(items, function(index, item) { + if (item.category && item.category !== currentCategory) { + ul.append("
    • " + categories[item.category] + "
    • "); + currentCategory = item.category; + } + var li = widget._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", categories[item.category] + " : " + item.l); + } else { + li.attr("aria-label", item.l); + } + li.attr("class", "result-item"); + }); + ul.append(""); + }, + _renderItem: function(ul, item) { + var li = $("
    • ").appendTo(ul); + var div = $("
      ").appendTo(li); + var label = item.l + ? item.l + : getHighlightedText(item.input, item.boundaries, 0, item.input.length); + var idx = item.indexItem; + if (item.category === "searchTags" && idx && idx.h) { + if (idx.d) { + div.html(label + " (" + idx.h + ")
      " + + idx.d + "
      "); + } else { + div.html(label + " (" + idx.h + ")"); + } + } else { + div.html(label); + } + return li; + } +}); +$(function() { + var expanded = false; + var windowWidth; + function collapse() { + if (expanded) { + $("div#navbar-top").removeAttr("style"); + $("button#navbar-toggle-button") + .removeClass("expanded") + .attr("aria-expanded", "false"); + expanded = false; + } + } + $("button#navbar-toggle-button").click(function (e) { + if (expanded) { + collapse(); + } else { + var navbar = $("div#navbar-top"); + navbar.height(navbar.prop("scrollHeight")); + $("button#navbar-toggle-button") + .addClass("expanded") + .attr("aria-expanded", "true"); + expanded = true; + windowWidth = window.innerWidth; + } + }); + $("ul.sub-nav-list-small li a").click(collapse); + $("input#search-input").focus(collapse); + $("main").click(collapse); + $("section[id] > :header, :header[id], :header:has(a[id])").each(function(idx, el) { + // Create anchor links for headers with an associated id attribute + var hdr = $(el); + var id = hdr.attr("id") || hdr.parent("section").attr("id") || hdr.children("a").attr("id"); + if (id) { + hdr.append(" " + messages.linkIcon +""); + } + }); + $(window).on("orientationchange", collapse).on("resize", function(e) { + if (expanded && windowWidth !== window.innerWidth) collapse(); + }); + var search = $("#search-input"); + var reset = $("#reset-button"); + search.catcomplete({ + minLength: 1, + delay: 200, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push({ l: messages.noResult }); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.indexItem) { + var url = getURL(ui.item.indexItem, ui.item.category); + window.location.href = pathtoroot + url; + $("#search-input").focus(); + } + } + }); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + reset.click(function() { + search.val('').focus(); + }); + search.focus(); +}); diff --git a/java/com.tractrac.clientmodule/javadoc/serialized-form.html b/java/com.tractrac.clientmodule/javadoc/serialized-form.html index 94282443ebb..ef1e5f19df3 100644 --- a/java/com.tractrac.clientmodule/javadoc/serialized-form.html +++ b/java/com.tractrac.clientmodule/javadoc/serialized-form.html @@ -1,154 +1,97 @@ - - + - + +Serialized Form (Subscription - Applications - TracAPI 5.0.0 API) + -Serialized Form (Subscription - Applications - TracAPI 4.0.2 API) - + + + + + + - - + + +
      + +
      +

      Serialized Form

      -
      -
      +
      +
      + +
      - -
      - - - - - - -
      - - -

      Copyright © 2025 TracTrac. All rights reserved.

      diff --git a/java/com.tractrac.clientmodule/javadoc/stylesheet.css b/java/com.tractrac.clientmodule/javadoc/stylesheet.css index 98055b22d6d..f71489f86cc 100644 --- a/java/com.tractrac.clientmodule/javadoc/stylesheet.css +++ b/java/com.tractrac.clientmodule/javadoc/stylesheet.css @@ -1,574 +1,1272 @@ -/* Javadoc style sheet */ /* -Overall document style -*/ + * Javadoc style sheet + */ @import url('resources/fonts/dejavu.css'); +/* + * These CSS custom properties (variables) define the core color and font + * properties used in this stylesheet. + */ +:root { + /* body, block and code fonts */ + --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + --code-font-family: 'DejaVu Sans Mono', monospace; + /* Base font sizes for body and code elements */ + --body-font-size: 14px; + --code-font-size: 14px; + /* Text colors for body and block elements */ + --body-text-color: #353833; + --block-text-color: #474747; + /* Background colors for various structural elements */ + --body-background-color: #ffffff; + --section-background-color: #f8f8f8; + --detail-background-color: #ffffff; + /* Colors for navigation bar and table captions */ + --navbar-background-color: #4D7A97; + --navbar-text-color: #ffffff; + /* Background color for subnavigation and various headers */ + --subnav-background-color: #dee3e9; + /* Background and text colors for selected tabs and navigation items */ + --selected-background-color: #f8981d; + --selected-text-color: #253441; + --selected-link-color: #1f389c; + /* Background colors for generated tables */ + --even-row-color: #ffffff; + --odd-row-color: #eeeeef; + /* Text color for page title */ + --title-color: #2c4557; + /* Text colors for links */ + --link-color: #4A6782; + --link-color-active: #bb7a2a; + /* Snippet colors */ + --snippet-background-color: #ebecee; + --snippet-text-color: var(--block-text-color); + --snippet-highlight-color: #f7c590; + /* Border colors for structural elements and user defined tables */ + --border-color: #ededed; + --table-border-color: #000000; + /* Search input colors */ + --search-input-background-color: #ffffff; + --search-input-text-color: #000000; + --search-input-placeholder-color: #909090; + /* Highlight color for active search tag target */ + --search-tag-highlight-color: #ffff00; + /* Adjustments for icon and active background colors of copy-to-clipboard buttons */ + --copy-icon-brightness: 100%; + --copy-button-background-color-active: rgba(168, 168, 176, 0.3); + /* Colors for invalid tag notifications */ + --invalid-tag-background-color: #ffe6e6; + --invalid-tag-text-color: #000000; +} +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ body { - background-color:#ffffff; - color:#353833; - font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; - font-size:14px; + background-color:var(--body-background-color); + color:var(--body-text-color); + font-family:var(--body-font-family); + font-size:var(--body-font-size); margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; } a:link, a:visited { text-decoration:none; - color:#4A6782; + color:var(--link-color); } -a:hover, a:focus { +a[href]:hover, a[href]:focus { text-decoration:none; - color:#bb7a2a; -} -a:active { - text-decoration:none; - color:#4A6782; -} -a[name] { - color:#353833; -} -a[name]:hover { - text-decoration:none; - color:#353833; + color:var(--link-color-active); } pre { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; + font-family:var(--code-font-family); + font-size:1em; } h1 { - font-size:20px; + font-size:1.428em; } h2 { - font-size:18px; + font-size:1.285em; } h3 { - font-size:16px; - font-style:italic; + font-size:1.14em; } h4 { - font-size:13px; + font-size:1.072em; } h5 { - font-size:12px; + font-size:1.001em; } h6 { - font-size:11px; + font-size:0.93em; +} +/* Disable font boosting for selected elements */ +h1, h2, h3, h4, h5, h6, div.member-signature { + max-height: 1000em; } ul { list-style-type:disc; } code, tt { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; + font-family:var(--code-font-family); +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:var(--code-font-size); padding-top:4px; margin-top:8px; line-height:1.4em; } dt code { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; + font-family:var(--code-font-family); + font-size:1em; padding-top:4px; } -table tr td dt code { - font-family:'DejaVu Sans Mono', monospace; - font-size:14px; +.summary-table dt code { + font-family:var(--code-font-family); + font-size:1em; vertical-align:top; padding-top:4px; } sup { font-size:8px; } +button { + font-family: var(--body-font-family); + font-size: 1em; +} /* -Document title and Copyright styles -*/ -.clear { - clear:both; - height:0px; - overflow:hidden; -} -.aboutLanguage { + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.about-language { float:right; - padding:0px 21px; - font-size:11px; - z-index:200; + padding:0 21px 8px 8px; + font-size:0.915em; margin-top:-9px; + height:2.9em; } -.legalCopy { +.legal-copy { margin-left:.5em; } -.bar a, .bar a:link, .bar a:visited, .bar a:active { - color:#FFFFFF; - text-decoration:none; -} -.bar a:hover, .bar a:focus { - color:#bb7a2a; -} -.tab { - background-color:#0066FF; - color:#ffffff; - padding:8px; - width:5em; - font-weight:bold; -} /* -Navigation bar styles -*/ -.bar { - background-color:#4D7A97; - color:#FFFFFF; - padding:.8em .5em .4em .8em; - height:auto;/*height:1.8em;*/ - font-size:11px; - margin:0; + * Styles for navigation bar. + */ +@media screen { + div.flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + header.flex-header { + flex: 0 0 auto; + } + div.flex-content { + flex: 1 1 auto; + overflow-y: auto; + } } -.topNav { - background-color:#4D7A97; - color:#FFFFFF; +.top-nav { + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); float:left; - padding:0; width:100%; clear:right; - height:2.8em; - padding-top:10px; + min-height:2.8em; + padding:10px 0 0 0; overflow:hidden; - font-size:12px; + font-size:0.857em; } -.bottomNav { - margin-top:10px; - background-color:#4D7A97; - color:#FFFFFF; - float:left; - padding:0; - width:100%; - clear:right; - height:2.8em; - padding-top:10px; - overflow:hidden; - font-size:12px; +button#navbar-toggle-button { + display:none; } -.subNav { - background-color:#dee3e9; +ul.sub-nav-list-small { + display: none; +} +.sub-nav { + background-color:var(--subnav-background-color); float:left; width:100%; overflow:hidden; - font-size:12px; + font-size:0.857em; } -.subNav div { +.sub-nav div { clear:left; float:left; - padding:0 0 5px 6px; + padding:6px; text-transform:uppercase; } -ul.navList, ul.subNavList { +.sub-nav .sub-nav-list { + padding-top:4px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { float:left; margin:0 25px 0 0; padding:0; } -ul.navList li{ +ul.nav-list li { list-style:none; float:left; padding: 5px 6px; text-transform:uppercase; } -ul.subNavList li{ +.sub-nav .nav-list-search { + float:right; + margin:0; + padding:6px; + clear:none; + text-align:right; + position:relative; +} +ul.sub-nav-list li { list-style:none; float:left; } -.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { - color:#FFFFFF; +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:var(--navbar-text-color); text-decoration:none; text-transform:uppercase; } -.topNav a:hover, .bottomNav a:hover { - text-decoration:none; - color:#bb7a2a; - text-transform:uppercase; +.top-nav a:hover { + color:var(--link-color-active); } -.navBarCell1Rev { - background-color:#F8981D; - color:#253441; +.nav-bar-cell1-rev { + background-color:var(--selected-background-color); + color:var(--selected-text-color); margin: auto 5px; } -.skipNav { +.skip-nav { position:absolute; top:auto; left:-9999px; overflow:hidden; } /* -Page header and footer styles -*/ -.header, .footer { - clear:both; - margin:0 20px; - padding:5px 0 0 0; -} -.indexHeader { - margin:10px; - position:relative; -} -.indexHeader span{ - margin-right:15px; -} -.indexHeader h1 { - font-size:13px; -} -.title { - color:#2c4557; - margin:10px 0; -} -.subTitle { - margin:5px 0 0 0; -} -.header ul { - margin:0 0 15px 0; - padding:0; -} -.footer ul { - margin:20px 0 5px 0; -} -.header ul li, .footer ul li { - list-style:none; - font-size:13px; + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } } /* -Heading styles -*/ -div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { - background-color:#dee3e9; - border:1px solid #d0d9e0; - margin:0 0 6px -8px; - padding:7px 5px; + * Styles for page header. + */ +.title { + color:var(--title-color); + margin:10px 0; } -ul.blockList ul.blockList ul.blockList li.blockList h3 { - background-color:#dee3e9; - border:1px solid #d0d9e0; - margin:0 0 6px -8px; - padding:7px 5px; +.sub-title { + margin:5px 0 0 0; } -ul.blockList ul.blockList li.blockList h3 { +ul.contents-list { + margin: 0 0 15px 0; + padding: 0; + list-style: none; +} +ul.contents-list li { + font-size:0.93em; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; padding:0; margin:15px 0; } -ul.blockList li.blockList h2 { - padding:0px 0 20px 0; +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:var(--subnav-background-color); + border:1px solid var(--border-color); + margin:0 0 6px -8px; + padding:7px 5px; } /* -Page layout container styles -*/ -.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + * Styles for page layout containers. + */ +main { clear:both; padding:10px 20px; position:relative; } -.indexContainer { - margin:10px; - position:relative; - font-size:12px; -} -.indexContainer h2 { - font-size:13px; - padding:0 0 3px 0; -} -.indexContainer ul { - margin:0; - padding:0; -} -.indexContainer ul li { - list-style:none; - padding-top:2px; -} -.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { - font-size:12px; +dl.notes > dt { + font-family: var(--body-font-family); + font-size:0.856em; font-weight:bold; margin:10px 0 0 0; - color:#4E4E4E; + color:var(--body-text-color); } -.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { - margin:5px 0 10px 0px; - font-size:14px; - font-family:'DejaVu Sans Mono',monospace; +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:1em; + font-family:var(--block-font-family) } -.serializedFormContainer dl.nameValue dt { +dl.name-value > dt { margin-left:1px; font-size:1.1em; display:inline; font-weight:bold; } -.serializedFormContainer dl.nameValue dd { +dl.name-value > dd { margin:0 0 0 1px; font-size:1.1em; display:inline; } /* -List styles -*/ + * Styles for lists. + */ +li.circle { + list-style:circle; +} ul.horizontal li { display:inline; font-size:0.9em; } -ul.inheritance { +div.inheritance { margin:0; padding:0; } -ul.inheritance li { - display:inline; - list-style:none; +div.inheritance div.inheritance { + margin-left:2em; } -ul.inheritance li ul.inheritance { - margin-left:15px; - padding-left:15px; - padding-top:1px; -} -ul.blockList, ul.blockListLast { +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { margin:10px 0 10px 0; padding:0; } -ul.blockList li.blockList, ul.blockListLast li.blockList { +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { list-style:none; margin-bottom:15px; line-height:1.4; } -ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { - padding:0px 20px 5px 10px; - border:1px solid #ededed; - background-color:#f8f8f8; +ul.ref-list { + padding:0; + margin:0; } -ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { - padding:0 0 5px 8px; - background-color:#ffffff; - border:none; -} -ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { - margin-left:0; - padding-left:0; - padding-bottom:15px; - border:none; -} -ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { +ul.ref-list > li { list-style:none; - border-bottom:none; - padding-bottom:0; } -table tr td dl, table tr td dl dt, table tr td dl dd { +.summary-table dl, .summary-table dl dt, .summary-table dl dd { margin-top:0; margin-bottom:1px; } +ul.tag-list, ul.tag-list-long { + padding-left: 0; + list-style: none; +} +ul.tag-list li { + display: inline; +} +ul.tag-list li:not(:last-child):after, +ul.tag-list-long li:not(:last-child):after +{ + content: ", "; + white-space: pre-wrap; +} +ul.preview-feature-list { + list-style: none; + margin:0; + padding:0.1em; + line-height: 1.6em; +} /* -Table styles -*/ -.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + * Styles for tables. + */ +.summary-table, .details-table { width:100%; - border-left:1px solid #EEE; - border-right:1px solid #EEE; - border-bottom:1px solid #EEE; + border-spacing:0; + border:1px solid var(--border-color); + border-top:0; + padding:0; } -.overviewSummary, .memberSummary { - padding:0px; -} -.overviewSummary caption, .memberSummary caption, .typeSummary caption, -.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { +.caption { position:relative; text-align:left; background-repeat:no-repeat; - color:#253441; - font-weight:bold; + color:var(--selected-text-color); clear:none; overflow:hidden; - padding:0px; - padding-top:10px; - padding-left:1px; - margin:0px; - white-space:pre; + padding: 10px 0 0 1px; + margin:0; } -.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, -.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, -.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, -.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, -.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, -.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, -.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, -.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { - color:#FFFFFF; +.caption a:link, .caption a:visited { + color:var(--selected-link-color); } -.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, -.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { +.caption a:hover, +.caption a:active { + color:var(--navbar-text-color); +} +.caption span { + font-weight:bold; white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - padding-bottom:7px; + padding:5px 12px 7px 12px; display:inline-block; float:left; - background-color:#F8981D; + background-color:var(--selected-background-color); border: none; height:16px; } -.memberSummary caption span.activeTableTab span { - white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - margin-right:3px; - display:inline-block; - float:left; - background-color:#F8981D; - height:16px; +div.table-tabs { + padding:10px 0 0 1px; + margin:10px 0 0 0; } -.memberSummary caption span.tableTab span { - white-space:nowrap; - padding-top:5px; - padding-left:12px; - padding-right:12px; - margin-right:3px; - display:inline-block; - float:left; - background-color:#4D7A97; - height:16px; +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 8px; } -.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { - padding-top:0px; - padding-left:0px; - padding-right:0px; - background-image:none; - float:none; - display:inline; +div.table-tabs > .active-table-tab { + background: var(--selected-background-color); + color: var(--selected-text-color); } -.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, -.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { - display:none; - width:5px; - position:relative; - float:left; - background-color:#F8981D; +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); } -.memberSummary .activeTableTab .tabEnd { - display:none; - width:5px; - margin-right:3px; - position:relative; - float:left; - background-color:#F8981D; +.two-column-search-results { + display: grid; + grid-template-columns: minmax(400px, max-content) minmax(400px, auto); } -.memberSummary .tableTab .tabEnd { - display:none; - width:5px; - margin-right:3px; - position:relative; - background-color:#4D7A97; - float:left; - +div.checkboxes { + line-height: 2em; } -.overviewSummary td, .memberSummary td, .typeSummary td, -.useSummary td, .constantsSummary td, .deprecatedSummary td { +div.checkboxes > span { + margin-left: 10px; +} +div.checkboxes > label { + margin-left: 8px; + white-space: nowrap; +} +div.checkboxes > label > input { + margin: 0 2px; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(25%, max-content) minmax(25%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto); +} +.three-column-release-summary { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +@media screen and (max-width: 800px) { + .two-column-search-results { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(40%, auto); + } + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-release-summary { + display: grid; + grid-template-columns: minmax(70%, max-content) minmax(30%, max-content) + } + .three-column-summary .col-last, + .three-column-release-summary .col-last{ + grid-column-end: span 2; + } +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +.summary-table > div, .details-table > div { text-align:left; - padding:0px 0px 12px 10px; + padding: 8px 3px 3px 7px; + overflow-x: auto; + scrollbar-width: thin; } -th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, -td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { vertical-align:top; - padding-right:0px; + padding-right:0; padding-top:8px; padding-bottom:3px; } -th.colFirst, th.colLast, th.colOne, .constantsSummary th { - background:#dee3e9; - text-align:left; - padding:8px 3px 3px 7px; +.table-header { + background:var(--subnav-background-color); + font-weight: bold; } -td.colFirst, th.colFirst { - white-space:nowrap; - font-size:13px; +/* Sortable table columns */ +.table-header[onclick] { + cursor: pointer; } -td.colLast, th.colLast { - font-size:13px; +.table-header[onclick]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + '); + background-size:100% 100%; + width:9px; + height:14px; + margin-left:4px; + margin-bottom:-3px; } -td.colOne, th.colOne { - font-size:13px; +.table-header[onclick].sort-asc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + } -.overviewSummary td.colFirst, .overviewSummary th.colFirst, -.useSummary td.colFirst, .useSummary th.colFirst, -.overviewSummary td.colOne, .overviewSummary th.colOne, -.memberSummary td.colFirst, .memberSummary th.colFirst, -.memberSummary td.colOne, .memberSummary th.colOne, -.typeSummary td.colFirst{ - width:25%; +.table-header[onclick].sort-desc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +.col-first, .col-first { + font-size:0.93em; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:0.93em; +} +.col-first, .col-second, .col-constructor-name { vertical-align:top; + overflow: auto; } -td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited { font-weight:bold; } -.tableSubHeadingColor { - background-color:#EEEEFF; +.even-row-color, .even-row-color .table-header { + background-color:var(--even-row-color); } -.altColor { - background-color:#FFFFFF; -} -.rowColor { - background-color:#EEEEEF; +.odd-row-color, .odd-row-color .table-header { + background-color:var(--odd-row-color); } /* -Content styles -*/ -.description pre { - margin-top:0; -} -.deprecatedContent { - margin:0; - padding:10px 0; -} -.docSummary { - padding:0; -} - -ul.blockList ul.blockList ul.blockList li.blockList h3 { - font-style:normal; -} - + * Styles for contents. + */ div.block { - font-size:14px; - font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + font-size:var(--body-font-size); + font-family:var(--block-font-family); } - -td.colLast div { - padding-top:0px; +.col-last div { + padding-top:0; } - - -td.colLast a { +.col-last a { padding-bottom:3px; } -/* -Formatting effect styles -*/ -.sourceLineNo { - color:green; - padding:0 30px 0 0; +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:var(--code-font-family); + font-size:1em; + margin:14px 0; + white-space: pre-wrap; } -h1.hidden { - visibility:hidden; - overflow:hidden; - font-size:10px; +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + /* Color of line numbers in source pages can be set via custom property below */ + color:var(--source-linenumber-color, green); + padding:0 30px 0 0; } .block { display:block; - margin:3px 10px 2px 0px; - color:#474747; + margin:0 10px 5px 0; + color:var(--block-text-color); } -.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, -.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, -.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { +.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { font-weight:bold; } -.deprecationComment, .emphasizedPhrase, .interfaceName { +.deprecation-comment, .help-footnote, .preview-comment { font-style:italic; } - -div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, -div.block div.block span.interfaceName { +.deprecation-block { + font-size:1em; + font-family:var(--block-font-family); + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:1em; + font-family:var(--block-font-family); + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { font-style:normal; } +details.invalid-tag, span.invalid-tag { + font-size:1em; + font-family:var(--block-font-family); + color: var(--invalid-tag-text-color); + background: var(--invalid-tag-background-color); + border: thin solid var(--table-border-color); + border-radius:2px; + padding: 2px 4px; + display:inline-block; +} +details summary { + cursor: pointer; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-state-active { + /* Overrides the color of selection used in jQuery UI */ + background: var(--selected-background-color); + border: 1px solid var(--selected-background-color); + color: var(--selected-text-color); +} +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:auto; + overflow-x:auto; + scrollbar-width: thin; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:1; + background-color: var(--body-background-color); +} +ul.ui-autocomplete li { + float:left; + clear:both; + min-width:100%; +} +ul.ui-autocomplete li.ui-static-link { + position:sticky; + bottom:0; + left:0; + background: var(--subnav-background-color); + padding: 5px 0; + font-family: var(--body-font-family); + font-size: 0.93em; + font-weight: bolder; + z-index: 2; +} +li.ui-static-link a, li.ui-static-link a:visited { + text-decoration:none; + color:var(--link-color); + float:right; + margin-right:20px; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +.ui-autocomplete .result-highlight { + font-weight:bold; +} +#search-input, #page-search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + background-color: var(--search-input-background-color); + color: var(--search-input-text-color); + border-color: var(--border-color); + padding-left:20px; + width: 250px; + margin: 0; +} +#search-input { + margin-left: 4px; +} +#reset-button { + background-color: transparent; + background-image:url('resources/x.png'); + background-repeat:no-repeat; + background-size:contain; + border:0; + border-radius:0; + width:12px; + height:12px; + position:absolute; + right:12px; + top:10px; + font-size:0; +} +::placeholder { + color:var(--search-input-placeholder-color); + opacity: 1; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:var(--search-tag-highlight-color); +} +details.page-search-details { + display: inline-block; +} +div#result-container { + font-size: 1em; +} +div#result-container a.search-result-link { + padding: 0; + margin: 4px 0; + width: 100%; +} +#result-container .result-highlight { + font-weight:bolder; +} +.page-search-info { + background-color: var(--subnav-background-color); + border-radius: 3px; + border: 0 solid var(--border-color); + padding: 0 8px; + overflow: hidden; + height: 0; + transition: all 0.2s ease; +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.page-search-header { + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + display: inline-block; +} +button.page-search-header { + border: none; + cursor: pointer; +} +span#page-search-link { + text-decoration: underline; +} +.module-graph span, .sealed-graph span { + display:none; + position:absolute; +} +.module-graph:hover span, .sealed-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0 20px 5px 10px; + border: 1px solid var(--border-color); + background-color: var(--section-background-color); +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:var(--detail-background-color); + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +/* + * Styles for header/section anchor links + */ +a.anchor-link { + opacity: 0; + transition: opacity 0.1s; +} +:hover > a.anchor-link { + opacity: 80%; +} +a.anchor-link:hover, +a.anchor-link:focus-visible, +a.anchor-link.visible { + opacity: 100%; +} +a.anchor-link > img { + width: 0.9em; + height: 0.9em; +} +/* + * Styles for copy-to-clipboard buttons + */ +button.copy { + opacity: 70%; + border: none; + border-radius: 3px; + position: relative; + background:none; + transition: opacity 0.3s; + cursor: pointer; +} +:hover > button.copy { + opacity: 80%; +} +button.copy:hover, +button.copy:active, +button.copy:focus-visible, +button.copy.visible { + opacity: 100%; +} +button.copy img { + position: relative; + background: none; + filter: brightness(var(--copy-icon-brightness)); +} +button.copy:active { + background-color: var(--copy-button-background-color-active); +} +button.copy span { + color: var(--body-text-color); + position: relative; + top: -0.1em; + transition: all 0.1s; + font-size: 0.76rem; + line-height: 1.2em; + opacity: 0; +} +button.copy:hover span, +button.copy:focus-visible span, +button.copy.visible span { + opacity: 100%; +} +/* search page copy button */ +button#page-search-copy { + margin-left: 0.4em; + padding:0.3em; + top:0.13em; +} +button#page-search-copy img { + width: 1.2em; + height: 1.2em; + padding: 0.01em 0; + top: 0.15em; +} +button#page-search-copy span { + color: var(--body-text-color); + line-height: 1.2em; + padding: 0.2em; + top: -0.18em; +} +div.page-search-info:hover button#page-search-copy span { + opacity: 100%; +} +/* snippet copy button */ +button.snippet-copy { + position: absolute; + top: 6px; + right: 6px; + height: 1.7em; + padding: 2px; +} +button.snippet-copy img { + width: 18px; + height: 18px; + padding: 0.05em 0; +} +button.snippet-copy span { + line-height: 1.2em; + padding: 0.2em; + position: relative; + top: -0.5em; +} +div.snippet-container:hover button.snippet-copy span { + opacity: 100%; +} +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ -div.contentContainer ul.blockList li.blockList h2{ - padding-bottom:0px; +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.striped > thead { + background-color: var(--subnav-background-color); +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped > tbody > tr:nth-child(even) { + background-color: var(--odd-row-color) +} +table.striped > tbody > tr:nth-child(odd) { + background-color: var(--even-row-color) +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid var(--table-border-color); + border-right: 1px solid var(--table-border-color); +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak style for small screens. + */ +@media screen and (max-width: 920px) { + header.flex-header { + max-height: 100vh; + overflow-y: auto; + } + div#navbar-top { + height: 2.8em; + transition: height 0.35s ease; + } + ul.nav-list { + display: block; + width: 40%; + float:left; + clear: left; + margin: 10px 0 0 0; + padding: 0; + } + ul.nav-list li { + float: none; + padding: 6px; + margin-left: 10px; + margin-top: 2px; + } + ul.sub-nav-list-small { + display:block; + height: 100%; + width: 50%; + float: right; + clear: right; + background-color: var(--subnav-background-color); + color: var(--body-text-color); + margin: 6px 0 0 0; + padding: 0; + } + ul.sub-nav-list-small ul { + padding-left: 20px; + } + ul.sub-nav-list-small a:link, ul.sub-nav-list-small a:visited { + color:var(--link-color); + } + ul.sub-nav-list-small a:hover { + color:var(--link-color-active); + } + ul.sub-nav-list-small li { + list-style:none; + float:none; + padding: 6px; + margin-top: 1px; + text-transform:uppercase; + } + ul.sub-nav-list-small > li { + margin-left: 10px; + } + ul.sub-nav-list-small li p { + margin: 5px 0; + } + div#navbar-sub-list { + display: none; + } + .top-nav a:link, .top-nav a:active, .top-nav a:visited { + display: block; + } + button#navbar-toggle-button { + width: 3.4em; + height: 2.8em; + background-color: transparent; + display: block; + float: left; + border: 0; + margin: 0 10px; + cursor: pointer; + font-size: 10px; + } + button#navbar-toggle-button .nav-bar-toggle-icon { + display: block; + width: 24px; + height: 3px; + margin: 1px 0 4px 0; + border-radius: 2px; + transition: all 0.1s; + background-color: var(--navbar-text-color); + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) { + transform: rotate(45deg); + transform-origin: 10% 10%; + width: 26px; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) { + opacity: 0; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) { + transform: rotate(-45deg); + transform-origin: 10% 90%; + width: 26px; + } +} +@media screen and (max-width: 800px) { + .about-language { + padding-right: 16px; + } + ul.nav-list li { + margin-left: 5px; + } + ul.sub-nav-list-small > li { + margin-left: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 400px) { + .about-language { + font-size: 10px; + padding-right: 12px; + } +} +@media screen and (max-width: 400px) { + .nav-list-search { + width: 94%; + } + #search-input, #page-search-input { + width: 70%; + } +} +@media screen and (max-width: 320px) { + .nav-list-search > label { + display: none; + } + .nav-list-search { + width: 90%; + } + #search-input, #page-search-input { + width: 80%; + } +} + +pre.snippet { + background-color: var(--snippet-background-color); + color: var(--snippet-text-color); + padding: 10px; + margin: 12px 0; + overflow: auto; + white-space: pre; +} +div.snippet-container { + position: relative; +} +@media screen and (max-width: 800px) { + pre.snippet { + padding-top: 26px; + } + button.snippet-copy { + top: 4px; + right: 4px; + } +} +pre.snippet .italic { + font-style: italic; +} +pre.snippet .bold { + font-weight: bold; +} +pre.snippet .highlighted { + background-color: var(--snippet-highlight-color); + border-radius: 10%; } diff --git a/java/com.tractrac.clientmodule/javadoc/tag-search-index.js b/java/com.tractrac.clientmodule/javadoc/tag-search-index.js new file mode 100644 index 00000000000..bf10aaf6d13 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults(); \ No newline at end of file diff --git a/java/com.tractrac.clientmodule/javadoc/type-search-index.js b/java/com.tractrac.clientmodule/javadoc/type-search-index.js new file mode 100644 index 00000000000..591fa2ba111 --- /dev/null +++ b/java/com.tractrac.clientmodule/javadoc/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"p":"com.tractrac.model.lib.api.attachment","l":"AbstractAttachable"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"com.tractrac.model.lib.api.event","l":"CreateModelException"},{"p":"com.tractrac.model.lib.api.event","l":"DataSource"},{"p":"com.tractrac.model.lib.api.event","l":"EventType"},{"p":"com.tractrac.model.lib.api.attachment","l":"IAttachable"},{"p":"com.tractrac.model.lib.api.attachment","l":"IAttachmentKey"},{"p":"com.tractrac.model.lib.api.attachment","l":"IAttachmentManager"},{"p":"com.tractrac.model.lib.api.event","l":"ICompetitor"},{"p":"com.tractrac.model.lib.api.event","l":"ICompetitorClass"},{"p":"com.tractrac.subscription.lib.api.competitor","l":"ICompetitorSensorDataListener"},{"p":"com.tractrac.subscription.lib.api.competitor","l":"ICompetitorsListener"},{"p":"com.tractrac.subscription.lib.api.event","l":"IConnectionStatusListener"},{"p":"com.tractrac.model.lib.api.data","l":"IControlPassing"},{"p":"com.tractrac.model.lib.api.data","l":"IControlPassings"},{"p":"com.tractrac.subscription.lib.api.control","l":"IControlPassingsListener"},{"p":"com.tractrac.subscription.lib.api.control","l":"IControlPointSensorDataListener"},{"p":"com.tractrac.model.lib.api.route","l":"IControlRoute"},{"p":"com.tractrac.subscription.lib.api.control","l":"IControlRouteChangeListener"},{"p":"com.tractrac.model.lib.api.spatial","l":"ICoordinate"},{"p":"com.tractrac.model.lib.api.spatial","l":"ICoordinateSequence"},{"p":"com.tractrac.model.lib.api.event","l":"IEvent"},{"p":"com.tractrac.model.lib.api.event","l":"IEventFactory"},{"p":"com.tractrac.subscription.lib.api.event","l":"IEventMessageListener"},{"p":"com.tractrac.subscription.lib.api","l":"IEventSubscriber"},{"p":"com.tractrac.model.lib.api.spatial","l":"IExtent"},{"p":"com.tractrac.model.lib.api.spatial","l":"IGeoCoordinate"},{"p":"com.tractrac.model.lib.api","l":"IIdentifiable"},{"p":"com.tractrac.subscription.lib.api.event","l":"ILiveDataEvent"},{"p":"com.tractrac.model.lib.api.map","l":"IMapItem"},{"p":"com.tractrac.subscription.lib.api.map","l":"IMapItemsListener"},{"p":"com.tractrac.subscription.lib.api.event","l":"IMessage"},{"p":"com.tractrac.model.lib.api.data","l":"IMessageData"},{"p":"com.tractrac.model.lib.api.metadata","l":"IMetadata"},{"p":"com.tractrac.model.lib.api.metadata","l":"IMetadataContainer"},{"p":"com.tractrac.model.lib.api.metadata","l":"IMetadataFactory"},{"p":"com.tractrac.model.lib.api","l":"INamed"},{"p":"com.tractrac.model.lib.api.route","l":"IPathRoute"},{"p":"com.tractrac.model.lib.api.route","l":"IPathRouteFactory"},{"p":"com.tractrac.model.lib.api.route","l":"IPathSegment"},{"p":"com.tractrac.model.lib.api.data","l":"IPosition"},{"p":"com.tractrac.model.lib.api.map","l":"IPositionedItem"},{"p":"com.tractrac.subscription.lib.api.map","l":"IPositionedItemPositionListener"},{"p":"com.tractrac.model.lib.api.data","l":"IPositionFactory"},{"p":"com.tractrac.subscription.lib.api.competitor","l":"IPositionListener"},{"p":"com.tractrac.model.lib.api.data","l":"IPositionOffset"},{"p":"com.tractrac.subscription.lib.api.competitor","l":"IPositionOffsetListener"},{"p":"com.tractrac.model.lib.api.data","l":"IPositionSnapped"},{"p":"com.tractrac.subscription.lib.api.competitor","l":"IPositionSnappedListener"},{"p":"com.tractrac.model.lib.api.metadata","l":"IPropertiesContainer"},{"p":"com.tractrac.model.lib.api.event","l":"IRace"},{"p":"com.tractrac.model.lib.api.event","l":"IRaceCompetitor"},{"p":"com.tractrac.subscription.lib.api.race","l":"IRaceCompetitorListener"},{"p":"com.tractrac.subscription.lib.api.race","l":"IRaceMessageListener"},{"p":"com.tractrac.model.lib.api.event","l":"IRaceSerie"},{"p":"com.tractrac.subscription.lib.api.race","l":"IRacesListener"},{"p":"com.tractrac.subscription.lib.api.race","l":"IRaceStartStopTimesChangeListener"},{"p":"com.tractrac.subscription.lib.api","l":"IRaceSubscriber"},{"p":"com.tractrac.model.lib.api.route","l":"IRoute"},{"p":"com.tractrac.subscription.lib.api.route","l":"IRoutesListener"},{"p":"com.tractrac.model.lib.api.route","l":"ISegment"},{"p":"com.tractrac.model.lib.api.sensor","l":"ISensorData"},{"p":"com.tractrac.subscription.lib.api.event","l":"IServerTimeListener"},{"p":"com.tractrac.model.lib.api.spatial","l":"ISimplePosition"},{"p":"com.tractrac.model.lib.api.data","l":"IStartStopData"},{"p":"com.tractrac.subscription.lib.api.race","l":"IStartStopTimesChangeListener"},{"p":"com.tractrac.subscription.lib.api.event","l":"IStoredDataEvent"},{"p":"com.tractrac.subscription.lib.api","l":"ISubscriber"},{"p":"com.tractrac.subscription.lib.api","l":"ISubscriberFactory"},{"p":"com.tractrac.subscription.lib.api","l":"ISubscriberListener"},{"p":"com.tractrac.model.lib.api.event","l":"ITeam"},{"p":"com.tractrac.model.lib.api.data","l":"ITimeData"},{"p":"com.tractrac.model.lib.api.map","l":"MapItemType"},{"p":"com.tractrac.model.lib.api","l":"ModelLocator"},{"p":"com.tractrac.model.lib.api.event","l":"RaceCompetitorStatusType"},{"p":"com.tractrac.model.lib.api.event","l":"RaceLoadingException"},{"p":"com.tractrac.model.lib.api.event","l":"RaceStatusType"},{"p":"com.tractrac.model.lib.api.event","l":"RaceVisibilityType"},{"p":"com.tractrac.model.lib.api.event","l":"StartTimeType"},{"p":"com.tractrac.subscription.lib.api.event","l":"ILiveDataEvent.StatusType"},{"p":"com.tractrac.subscription.lib.api","l":"SubscriberInitializationException"},{"p":"com.tractrac.subscription.lib.api","l":"SubscriptionLocator"},{"p":"com.tractrac.subscription.lib.api.event","l":"IStoredDataEvent.Type"}];updateSearchResults(); \ No newline at end of file diff --git a/java/com.tractrac.clientmodule/lib/TracAPI-src.jar b/java/com.tractrac.clientmodule/lib/TracAPI-src.jar index 569b82f15ec..580b815546c 100644 Binary files a/java/com.tractrac.clientmodule/lib/TracAPI-src.jar and b/java/com.tractrac.clientmodule/lib/TracAPI-src.jar differ diff --git a/java/com.tractrac.clientmodule/lib/TracAPI.jar b/java/com.tractrac.clientmodule/lib/TracAPI.jar index 89d471c1fa1..1567f60ac24 100644 Binary files a/java/com.tractrac.clientmodule/lib/TracAPI.jar and b/java/com.tractrac.clientmodule/lib/TracAPI.jar differ diff --git a/java/com.tractrac.clientmodule/pom.xml b/java/com.tractrac.clientmodule/pom.xml index f4ebc8b9768..329bf5b213d 100755 --- a/java/com.tractrac.clientmodule/pom.xml +++ b/java/com.tractrac.clientmodule/pom.xml @@ -8,6 +8,6 @@ 1.0.0-SNAPSHOT com.tractrac.clientmodule - 4.0.4 + 5.0.2 eclipse-plugin diff --git a/java/com.tractrac.clientmodule/src/com/tractrac/subscription/app/tracapi/ConnectToAllRaces.java b/java/com.tractrac.clientmodule/src/com/tractrac/subscription/app/tracapi/ConnectToAllRaces.java index 8afcb931f05..4751570c616 100644 --- a/java/com.tractrac.clientmodule/src/com/tractrac/subscription/app/tracapi/ConnectToAllRaces.java +++ b/java/com.tractrac.clientmodule/src/com/tractrac/subscription/app/tracapi/ConnectToAllRaces.java @@ -15,8 +15,9 @@ public class ConnectToAllRaces { public static void main(String[] args) throws CreateModelException, URISyntaxException, SubscriberInitializationException, IOException, RaceLoadingException { URI paramURI = new URI("https://event.tractrac.com/events/event_20140429_ESSQingdao/jsonservice.php"); + String apiToken = args[0]; IEventFactory eventFactory = ModelLocator.getEventFactory(); - IEvent event = eventFactory.createEvent(paramURI); + IEvent event = eventFactory.createEvent(apiToken, paramURI); List raceSubscriberList = new ArrayList<>(); @@ -25,6 +26,7 @@ public class ConnectToAllRaces { EventListener listener = new EventListener(); IEventSubscriber eventSubscriber = subscriberFactory.createEventSubscriber( + apiToken, event ); eventSubscriber.subscribeConnectionStatus(listener); @@ -38,6 +40,7 @@ public class ConnectToAllRaces { listener = new EventListener(); listener.setRace(race); IRaceSubscriber raceSubscriber = subscriberFactory.createRaceSubscriber( + apiToken, race ); raceSubscriber.subscribeConnectionStatus(listener); diff --git a/java/com.tractrac.clientmodule/src/com/tractrac/subscription/app/tracapi/Main.java b/java/com.tractrac.clientmodule/src/com/tractrac/subscription/app/tracapi/Main.java index d1f274da2bf..05804a270f8 100644 --- a/java/com.tractrac.clientmodule/src/com/tractrac/subscription/app/tracapi/Main.java +++ b/java/com.tractrac.clientmodule/src/com/tractrac/subscription/app/tracapi/Main.java @@ -31,19 +31,20 @@ public class Main { LoggerLocator.getLoggerManager().init(1, "println"); Object[] myArgs = parseArguments(args); - URI paramURI = (URI) myArgs[0]; - boolean measureDelay = (boolean) myArgs[1]; + String apiToken = (String) myArgs[0]; + URI paramURI = (URI) myArgs[1]; + boolean measureDelay = (boolean) myArgs[2]; // Create the event object IEventFactory eventFactory = ModelLocator.getEventFactory(); - IRace race = eventFactory.createRace(paramURI); + IRace race = eventFactory.createRace(apiToken, paramURI); IEvent event = race.getEvent(); event.getPositionedItems().forEach(positionedItem -> System.out.println(positionedItem.getMetadata().getText())); // Create the subscriber ISubscriberFactory subscriberFactory = SubscriptionLocator.getSusbcriberFactory(); - IEventSubscriber eventSubscriber = subscriberFactory.createEventSubscriber(event); + IEventSubscriber eventSubscriber = subscriberFactory.createEventSubscriber(apiToken, event); AbstractListener listener; if (measureDelay) { @@ -59,6 +60,7 @@ public class Main { eventSubscriber.subscribeCompetitors(listener); IRaceSubscriber raceSubscriber = subscriberFactory.createRaceSubscriber( + apiToken, race ); raceSubscriber.subscribeConnectionStatus(listener); @@ -87,14 +89,15 @@ public class Main { } private static Object[] parseArguments(String[] args) { - if (args.length < 1) { - System.out.println("Usage: java -jar TracAPI.jar parametersfile measureDelay"); + if (args.length < 2) { + System.out.println("Usage: java -jar TracAPI.jar API_TOKEN parametersfile measureDelay"); System.exit(0); } - Object[] myArgs = new Object[2]; + Object[] myArgs = new Object[3]; try { - myArgs[0] = new URI(args[0]); - myArgs[1] = args.length >= 2 && args[1].equals("1"); + myArgs[0] = args[0]; + myArgs[1] = new URI(args[1]); + myArgs[2] = args.length >= 3 && args[2].equals("1"); } catch (URISyntaxException ex) { System.out.println("Malformed URL " + ex.getMessage()); System.exit(0); diff --git a/java/target/configuration/logging_debug.properties b/java/target/configuration/logging_debug.properties index 7ea0c7cabf8..ac7567cbb99 100644 --- a/java/target/configuration/logging_debug.properties +++ b/java/target/configuration/logging_debug.properties @@ -61,4 +61,7 @@ com.sap.sailing.domain.queclinkadapter.tracker.QueclinkUDPTracker.level = FINE # Show locking progress in AIAgentImpl: #com.sap.sailing.aiagent.impl.AIAgentImpl.level = FINE # Show AI rules task enqueuing: -com.sap.sailing.aiagent.impl.RaceListener.level = FINE \ No newline at end of file +com.sap.sailing.aiagent.impl.RaceListener.level = FINE + +# Show GithubReleasesRepository log output +com.sap.sse.landscape.impl.GithubReleasesRepository.level = FINE \ No newline at end of file diff --git a/toolchains.xml b/toolchains.xml index cf2824e5d89..a7355d7710b 100644 --- a/toolchains.xml +++ b/toolchains.xml @@ -4,6 +4,17 @@ --> + + jdk + + 8 + JavaSE-1.8 + sun + + + /opt/sapjvm_8/jre + + jdk