From d6d04aea1280d52f3a143b63eab11a334e996ad2 Mon Sep 17 00:00:00 2001 From: Stsiapan_Tsybulski Date: Tue, 13 Sep 2016 15:21:16 +0300 Subject: [PATCH 01/97] When zooming, ticks for chart and time slider lose sync and are not adjusted to a reasonable number (FIXED) --- .../gwt/ui/client/shared/charts/AbstractRaceChart.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java index 9fbb374c863..938b262eca0 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java @@ -27,6 +27,8 @@ import com.sap.sse.common.settings.Settings; import com.sap.sse.gwt.client.ErrorReporter; import com.sap.sse.gwt.client.async.AsyncActionsExecutor; import com.sap.sse.gwt.client.controls.busyindicator.SimpleBusyIndicator; +import com.sap.sse.gwt.client.controls.slider.TimeTicksCalculator; +import com.sap.sse.gwt.client.controls.slider.TimeTicksCalculator.NormalizedInterval; import com.sap.sse.gwt.client.player.TimeListener; import com.sap.sse.gwt.client.player.TimeRangeChangeListener; import com.sap.sse.gwt.client.player.TimeRangeWithZoomProvider; @@ -193,7 +195,9 @@ public abstract class AbstractRaceChart extends A if (minTimepoint != null && maxTimepoint != null) { xAxis.setExtremes(minTimepoint.getTime(), maxTimepoint.getTime(), /* redraw */ false, false); long tickInterval = (maxTimepoint.getTime() - minTimepoint.getTime()) / TICKCOUNT; - xAxis.setTickInterval(tickInterval); + TimeTicksCalculator calculator = new TimeTicksCalculator(); + NormalizedInterval normalizedInterval = calculator.normalizeTimeTickInterval(tickInterval); + xAxis.setTickInterval(normalizedInterval.count * normalizedInterval.unitRange); } if (minTimepoint != null) { xAxis.setMin(minTimepoint.getTime()); From 54bc25581adcb9a453a8fa71fc70a1c1f017a007 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Wed, 14 Sep 2016 17:46:48 +0000 Subject: [PATCH 02/97] Localization delivery: commit by Boliang Chen, and the user email is boliang.chen@sap.com. --- .../ui/client/StringMessages.properties.xlf | 33 +++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties.xlf index 2df4d0e345b..739a3e8bd16 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties.xlf @@ -1,12 +1,12 @@ - +
- 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 - +
@@ -1490,6 +1490,24 @@ Title + + Subtitle + + + Copyright + + + Width (pixel) + + + Height (pixel) + + + Tags + + + Size + Duration (h:mm:ss.ms) @@ -4824,6 +4842,15 @@ Maximum number of discards + + Active regatta configuration was set, using the "By Marks" course designer. + + + Active regatta configuration already exists, but with the wrong course designer setting.\nWould you like to override course designer setting to "By Marks"? + + + All races have been denoted for racelog tracking. +
\ No newline at end of file From c88741c83bf822f313b519e60856f7b1c51a9e59 Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Mon, 19 Sep 2016 09:09:51 +0200 Subject: [PATCH 03/97] because the app com.untappdllc.app had a misconfigured AndroidManifest --- .../ui/fragments/AbstractHomeFragment.java | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java index 99b4d32c22b..335e4a7a0be 100644 --- a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java +++ b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java @@ -58,26 +58,18 @@ public abstract class AbstractHomeFragment extends BaseFragment { } private boolean requestQRCodeScan() { - Intent intent = new Intent("com.google.zxing.client.android.SCAN"); - intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); - - PackageManager manager = getActivity().getPackageManager(); - List infos = manager.queryIntentActivities(intent, 0); - if (infos.size() != 0) { + try { + Intent intent = new Intent("com.google.zxing.client.android.SCAN"); + intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, requestCodeQRCode); - return true; - } else { + } + catch (Exception ex) { Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android"); Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); - infos = manager.queryIntentActivities(marketIntent, 0); - if (infos.size() != 0) { - startActivity(marketIntent); - } else { - Toast.makeText(getActivity(), getString(R.string.error_play_store_and_scanning_not_available), - Toast.LENGTH_LONG).show(); - } + startActivity(marketIntent); return false; } + return true; } @Override From 0fe374010f4098fdc61e5a572ae71804535dc36f Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Mon, 19 Sep 2016 12:07:54 +0200 Subject: [PATCH 04/97] updated release notes --- .../sailing/gwt/home/solutions/BuoyPingerAppNotes.html | 7 +++++++ .../sap/sailing/gwt/home/solutions/InSightAppNotes.html | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/BuoyPingerAppNotes.html b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/BuoyPingerAppNotes.html index 5b611d43983..2be6f146d30 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/BuoyPingerAppNotes.html +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/BuoyPingerAppNotes.html @@ -4,7 +4,14 @@

What's New - SAP Sailing Buoy Pinger

+
September 2016
+ +
    +
  • In some rare situations the app crashed, if you want to scan a QR-Code.
  • +
+
June 2016
+
  • First PlayStore release
diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/InSightAppNotes.html b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/InSightAppNotes.html index fac557514d7..d59437c9556 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/InSightAppNotes.html +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/InSightAppNotes.html @@ -4,7 +4,14 @@

What's New - SAP Sail InSight

+
September 2016
+ +
    +
  • In some rare situations the app crashed, if you want to scan a QR-Code.
  • +
+
August 2016
+
  • The GPS fix sending was optimize to send all data in a bulk. Instead of sending every fix separately. This will reduce the battery consumption and minimize the @@ -15,6 +22,7 @@
July 2016
+
  • It is possible to track buoys for multiple regattas. Scan all buoy QR-codes and start tracking for one buoy. It will track all buoys.
  • From dc950d6a98f9d01df0ec1f90624c9e35330a8d3a Mon Sep 17 00:00:00 2001 From: Adrian Riedel Date: Mon, 19 Sep 2016 15:15:14 +0100 Subject: [PATCH 05/97] Introduced a setting for energy saving measures within the tracking app - for testing and review --- .../res/values-de/preferences.xml | 11 ++++++++ .../res/values/preferences.xml | 19 +++++++++++++ .../res/xml/preference_general.xml | 8 ++++++ .../app/services/TrackingService.java | 6 ++-- .../preference/GeneralPreferenceFragment.java | 28 +++++++++++++++++-- 5 files changed, 67 insertions(+), 5 deletions(-) diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml b/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml index 9cdceb8cd52..79864b90cd8 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml @@ -6,6 +6,17 @@ Aus GPS Updates werden alle 30 Sekunden verschickt. GPS Updates werden jede Sekunde verschickt. + + Sendeintervall für GPS-Updates auswählen + Wählen Sie den größtmöglichen Wert, der dennoch eine dem Anwendungsfall entsprechend hohe Aktualisierungsrate ermöglicht. + + sofort + 5 Sekunden + 10 Sekunden + 20 Sekunden + 60 Sekunden + + Ein Aus Anzeige: Missweisend diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml b/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml index 403f5b8e5d1..130d07c9b2e 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml @@ -15,6 +15,25 @@ Off GPS updates are being sent to server every 30 seconds. GPS updates are being sent to server every second. + + msgSndInt + 0 + choose GPS update sending interval + Choose a value as high as possible to preserve battery life while still maintaining the required live experience given by your use case. + + immediately + 5 seconds + 10 seconds + 20 seconds + 60 seconds + + + 0 + 5 + 10 + 20 + 60 + gpsFixInterval 500 diff --git a/mobile/com.sap.sailing.android.tracking.app/res/xml/preference_general.xml b/mobile/com.sap.sailing.android.tracking.app/res/xml/preference_general.xml index 37cec25d928..b43a8c16e7a 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/xml/preference_general.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/xml/preference_general.xml @@ -11,6 +11,14 @@ android:summaryOn="@string/preference_energy_saving_summary_is_enabled" android:summaryOff="@string/preference_energy_saving_summary_is_disabled" android:title="@string/energy_saving_enabled"/> + + diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java index e976e6fdc7d..04777f3db55 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java @@ -353,8 +353,10 @@ public class TrackingService extends Service implements GoogleApiClient.Connecti private void updateResendIntervalSetting() { float batteryPct = getBatteryPercentage(); boolean batteryIsCharging = prefs.getBatteryIsCharging(); - int updateInterval = UPDATE_INTERVAL_IN_MILLIS_DEFAULT; - if (prefs.getEnergySavingEnabledByUser() || (batteryPct < BATTERY_POWER_SAVE_THRESHOLD && !batteryIsCharging)) { + //int updateInterval = UPDATE_INTERVAL_IN_MILLIS_DEFAULT; + int updateInterval = prefs.getMessageSendingIntervalInMillis(); + //if (prefs.getEnergySavingEnabledByUser() || (batteryPct < BATTERY_POWER_SAVE_THRESHOLD && !batteryIsCharging)) { + if (batteryPct < BATTERY_POWER_SAVE_THRESHOLD && !batteryIsCharging) { if (BuildConfig.DEBUG) { ExLog.i(this, "POWER-LEVELS", "in power saving mode"); } diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java index 9131438e7ae..01ed2968459 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java @@ -1,7 +1,9 @@ package com.sap.sailing.android.tracking.app.ui.fragments.preference; import android.os.Bundle; +import android.preference.ListPreference; import android.preference.Preference; +import android.preference.Preference.OnPreferenceChangeListener; import android.preference.SwitchPreference; import com.sap.sailing.android.shared.ui.fragments.preference.BasePreferenceFragment; @@ -9,8 +11,7 @@ import com.sap.sailing.android.shared.util.UniqueDeviceUuid; import com.sap.sailing.android.tracking.app.R; import com.sap.sailing.android.tracking.app.utils.AppPreferences; -public class GeneralPreferenceFragment extends BasePreferenceFragment { - +public class GeneralPreferenceFragment extends BasePreferenceFragment implements OnPreferenceChangeListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -24,11 +25,14 @@ public class GeneralPreferenceFragment extends BasePreferenceFragment { if (currentDeviceId != null && currentDeviceId.length() > 0) { deviceIdPreference.setSummary(currentDeviceId); } else { - // this would, in most caes, be set elsewhere, but since we don't want to show an empty summary, + // this would, in most cases, be set elsewhere, but since we don't want to show an empty summary, // we can just set it here. (UniqueDeviceUuid.getUniqueId sets it in prefs.) String newDeviceId = UniqueDeviceUuid.getUniqueId(getActivity()); deviceIdPreference.setSummary(newDeviceId); } + + ListPreference prefSendingInterval = findPreference(R.string.preference_energy_saving_sending_interval_key); + prefSendingInterval.setOnPreferenceChangeListener(this); } @Override @@ -43,4 +47,22 @@ public class GeneralPreferenceFragment extends BasePreferenceFragment { prefs.setEnergySavingEnabledByUser(prefEnergy.isChecked()); prefs.setDisplayHeadingWithSubtractedDeclination(prefDeclination.isChecked()); } + + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + AppPreferences prefs = new AppPreferences(getActivity()); + if(preference.getKey().equals(getString(R.string.preference_energy_saving_sending_interval_key))) { + int msgSndInt = Integer.parseInt((String)newValue); + switch (msgSndInt){ + case 0: + //send every second + prefs.setMessageResendIntervalInMillis(1000); + break; + default: + prefs.setMessageResendIntervalInMillis(msgSndInt * 1000); + break; + } + } + return true; + } } From 908fa496b413709cfc1c618d886439ee0b6cb291 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 20 Sep 2016 16:53:28 +0200 Subject: [PATCH 06/97] consolidated imports to avoid warnings Change-Id: Ibdbf959f823089ff620de365d56a83eb3ea63be1 --- .../ui/fragments/AbstractHomeFragment.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java index 335e4a7a0be..c9040b77098 100644 --- a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java +++ b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java @@ -1,13 +1,16 @@ package com.sap.sailing.android.ui.fragments; -import java.util.List; +import com.sap.sailing.android.shared.R; +import com.sap.sailing.android.shared.data.BaseCheckinData; +import com.sap.sailing.android.shared.logging.ExLog; +import com.sap.sailing.android.shared.ui.activities.AbstractStartActivity; +import com.sap.sailing.android.shared.ui.adapters.AbstractRegattaAdapter; +import com.sap.sailing.android.shared.util.BaseAppPreferences; import android.annotation.SuppressLint; import android.app.Activity; import android.content.DialogInterface; import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AlertDialog; @@ -18,13 +21,6 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.Toast; -import com.sap.sailing.android.shared.R; -import com.sap.sailing.android.shared.data.BaseCheckinData; -import com.sap.sailing.android.shared.logging.ExLog; -import com.sap.sailing.android.shared.ui.activities.AbstractStartActivity; -import com.sap.sailing.android.shared.ui.adapters.AbstractRegattaAdapter; -import com.sap.sailing.android.shared.util.BaseAppPreferences; - public abstract class AbstractHomeFragment extends BaseFragment { private final static String TAG = AbstractHomeFragment.class.getName(); protected AbstractRegattaAdapter adapter; From 3f5006e5285aca8fbebffb30b667e5ba9d596fe5 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 20 Sep 2016 16:55:38 +0200 Subject: [PATCH 07/97] single point of exit; formatting Change-Id: I40c5169d0864a781c68d7d6fe3c545a652d13a15 --- .../android/ui/fragments/AbstractHomeFragment.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java index c9040b77098..dc8a864788b 100644 --- a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java +++ b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java @@ -54,18 +54,18 @@ public abstract class AbstractHomeFragment extends BaseFragment { } private boolean requestQRCodeScan() { + boolean result = true; try { Intent intent = new Intent("com.google.zxing.client.android.SCAN"); intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, requestCodeQRCode); - } - catch (Exception ex) { + } catch (Exception ex) { Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android"); Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); startActivity(marketIntent); - return false; + result = false; } - return true; + return result; } @Override From 967a14aca6cd5fac576f507c5bed76a013d252e9 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 20 Sep 2016 17:00:36 +0200 Subject: [PATCH 08/97] don't provoke an exception by trying to start an activity although we know no-one will be handling it Change-Id: I9d05e3d684a4ae86a2eef9652a3a97c20e2e8cf9 --- .../ui/fragments/AbstractHomeFragment.java | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java index dc8a864788b..f250089e8dd 100644 --- a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java +++ b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/ui/fragments/AbstractHomeFragment.java @@ -1,5 +1,7 @@ package com.sap.sailing.android.ui.fragments; +import java.util.List; + import com.sap.sailing.android.shared.R; import com.sap.sailing.android.shared.data.BaseCheckinData; import com.sap.sailing.android.shared.logging.ExLog; @@ -11,6 +13,8 @@ import android.annotation.SuppressLint; import android.app.Activity; import android.content.DialogInterface; import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AlertDialog; @@ -54,20 +58,32 @@ public abstract class AbstractHomeFragment extends BaseFragment { } private boolean requestQRCodeScan() { - boolean result = true; - try { - Intent intent = new Intent("com.google.zxing.client.android.SCAN"); - intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); - startActivityForResult(intent, requestCodeQRCode); - } catch (Exception ex) { - Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android"); - Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); - startActivity(marketIntent); + boolean result; + PackageManager manager = getActivity().getPackageManager(); + Intent intent = new Intent("com.google.zxing.client.android.SCAN"); + intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); + List infos = manager.queryIntentActivities(intent, 0); + if (infos.size() != 0) { + try { + startActivityForResult(intent, requestCodeQRCode); + result = true; + } catch (Exception ex) { + requestQRCodeScannerInstallation(); + result = false; + } + } else { + requestQRCodeScannerInstallation(); result = false; } return result; } + private void requestQRCodeScannerInstallation() { + Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android"); + Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri); + startActivity(marketIntent); + } + @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == Activity.RESULT_OK) { From 0d08566bb18ff089dfecc74480e11619ed4d26a9 Mon Sep 17 00:00:00 2001 From: Adrian Riedel Date: Wed, 21 Sep 2016 15:14:55 +0200 Subject: [PATCH 09/97] fixed an issue where the searching for gps message would not initially appear in the tracking app until the first fix was found --- .../android/tracking/app/ui/fragments/TrackingFragment.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java index 84e5b1057b1..2cf9ed78871 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java @@ -69,6 +69,9 @@ public class TrackingFragment extends BaseFragment { qualityIndicator.setSignalQuality(savedInstanceState.getInt(SIS_GPS_QUALITY)); accuracyText.setText(savedInstanceState.getString(SIS_GPS_ACCURACY)); unsentFixesText.setText(savedInstanceState.getString(SIS_GPS_UNSENT_FIXES)); + } else { + //initially set quality to "No GPS" on start tracking + updateTrackingStatus(GPSQuality.noSignal); } } From ea24569f353dab19fef6019e9577e9f44be0a7ad Mon Sep 17 00:00:00 2001 From: Raimund Wege Date: Wed, 21 Sep 2016 16:21:53 +0200 Subject: [PATCH 10/97] Fixed text values --- .../SAPTracker/Base.lproj/Localizable.strings | Bin 12554 -> 12558 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings b/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings index 14e49d15af80d347d7f8d34b516bcd1f1e14084c..13ae67e02a5f7927a8eb6026042a94772f39f2a0 100644 GIT binary patch delta 59 zcmeB5>Py-nBgvRNSynQ4@&_rS$#pU!o6kvJU}E&xJYS}gb#jZM(qs#zd6N^kBsRZO Ndc^}~e9)I-1OSqv6~X`j delta 76 zcmV-S0JHy&Vv1t092o&alN}jtlVBS#v%DGP0s&~Vp&WSylO!M@lRP4x0d$jL3Kx^w iAQ-a>Bhn0$_An5Wa0&>MYA`;Nycrae2ptrYS}?TsQyLTi From 93de3996b8663176f6e5d34d999cfce8be85da64 Mon Sep 17 00:00:00 2001 From: Alexander Ries Date: Wed, 21 Sep 2016 16:46:23 +0200 Subject: [PATCH 11/97] Corrected wrong spellings in string messages --- .../SAPTracker/Base.lproj/Localizable.strings | Bin 12558 -> 12558 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings b/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings index 13ae67e02a5f7927a8eb6026042a94772f39f2a0..90c76e94cecaa4dd86adaf56d184450a55903e64 100644 GIT binary patch delta 30 mcmeB6>Py-nBgyEzSyr-{nK5JYLYdthlhPy-nBgvS&Syr-{nbBkOLYdthKwhlsMs5I%WC>~j From 269d6eb99c4b658039e3213cfd1e64cbbd2e889b Mon Sep 17 00:00:00 2001 From: Adrian Riedel Date: Thu, 22 Sep 2016 10:50:54 +0200 Subject: [PATCH 12/97] added Toast informing the user whether GPS was found or is lost, also fixed an issue where it would never show if GPS is disabled or lost during tracking below Android Kitkat --- .../res/values-de/strings.xml | 1 + .../res/values/strings_fragment.xml | 1 + .../app/ui/fragments/TrackingFragment.java | 19 +++++++++++++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values-de/strings.xml b/mobile/com.sap.sailing.android.tracking.app/res/values-de/strings.xml index f803398580d..314a1aa3a66 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/values-de/strings.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/values-de/strings.xml @@ -78,5 +78,6 @@ Wird hochgeladen… Fehler beim Hochladen: Fehler beim Hochladen.\nZum Wiederholen hier tippen. + GPS Signal gefunden! \ No newline at end of file diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values/strings_fragment.xml b/mobile/com.sap.sailing.android.tracking.app/res/values/strings_fragment.xml index 75dae9ad3f1..cf66464434a 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/values/strings_fragment.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/values/strings_fragment.xml @@ -19,4 +19,5 @@ No GPS Signal! Regatta User Image Add Photo Button + GPS signal found! \ No newline at end of file diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java index 2cf9ed78871..1f4a4275001 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java @@ -7,11 +7,11 @@ import android.os.Build; import android.os.Bundle; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; -import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; +import android.widget.Toast; import com.sap.sailing.android.shared.logging.ExLog; import com.sap.sailing.android.shared.services.sending.MessageSendingService.APIConnectivity; @@ -32,6 +32,8 @@ public class TrackingFragment extends BaseFragment { private AppPreferences prefs; private long lastGPSQualityUpdate; + private Toast gpsToast; + private boolean gpsFound = true; private String TAG = TrackingFragment.class.getName(); @@ -118,9 +120,22 @@ public class TrackingFragment extends BaseFragment { if (quality == GPSQuality.noSignal) { textView.setText(getString(R.string.tracking_status_no_gps_signal)); textView.setTextColor(getResources().getColor(R.color.sap_red)); + //either GPS has been found before or tracking just started (but is not available now) --> show noGPS Toast + if (gpsFound || gpsToast == null) { + gpsToast = Toast.makeText(getActivity(),getString(R.string.tracking_status_no_gps_signal), Toast.LENGTH_LONG); + gpsToast.show(); + gpsFound = false; + } } else { textView.setText(getString(R.string.tracking_status_tracking)); textView.setTextColor(getResources().getColor(R.color.fiori_text_color)); + gpsToast.cancel(); + //GPS was lost before but is available again now --> show gpsFound toast + if (!gpsFound) { + gpsToast = Toast.makeText(getActivity(),getString(R.string.tracking_status_gps_found), Toast.LENGTH_SHORT); + gpsToast.show(); + gpsFound = true; + } } } } @@ -186,7 +201,7 @@ public class TrackingFragment extends BaseFragment { } else { locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED); - return !TextUtils.isEmpty(locationProviders); + return locationProviders.contains("gps"); } } else { return false; From 14da94a0458c156b05b16964b9227afca03c820f Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 22 Sep 2016 14:26:52 +0000 Subject: [PATCH 13/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/Polars_StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/Polars_StringMessages_ru.properties.xlf | 2 +- .../XLF/Polars_StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf index 3fe54ecb024..53af2a594e6 100644 --- a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2PTQrCQAyF93OKXEH32TiiFBSGunAdOrEObTPQaaHHd/6s4Cbv4yW8JMaPNOs3OTmgSRyU2a0jnqgbWCzUVksdaz+uk+AP1Y37RixvGAEylYwzLVRCIWExw3fN1TwubsMoEFU9ndiWpGdMBBmz2QTt5eUsy4I7QR66M4V15ika8TQZMBVVb67b/j74ALSew+fwAAAA diff --git a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf index f2c2a2cb6fd..e6c9f46126c 100644 --- a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2PTQrCQAyF93OKXEH32TiiFBSGunAdOrEObTPQaaHHd/6s4Cbv4yW8JMaPNOs3OTmgSRyU2a0jnqgbWCzUVksdaz+uk+AP1Y37RixvGAEylYwzLVRCIWExw3fN1TwubsMoEFU9ndiWpGdMBBmz2QTt5eUsy4I7QR66M4V15ika8TQZMBVVb67b/j74ALSew+fwAAAA diff --git a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf index e6ea6a59147..44955faf248 100644 --- a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2PTQrCQAyF93OKXEH32TiiFBSGunAdOrEObTPQaaHHd/6s4Cbv4yW8JMaPNOs3OTmgSRyU2a0jnqgbWCzUVksdaz+uk+AP1Y37RixvGAEylYwzLVRCIWExw3fN1TwubsMoEFU9ndiWpGdMBBmz2QTt5eUsy4I7QR66M4V15ika8TQZMBVVb67b/j74ALSew+fwAAAA From dc6eacfef0fb14fd7e9898802dc345ae78e33c0d Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 22 Sep 2016 14:27:07 +0000 Subject: [PATCH 14/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf | 2 +- .../XLF/Sailing_StringMessages_zh_CN.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_ru.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf index 8fb290f78e0..e2e562cf073 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf index ab986074752..1df6e3db61f 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf index dd4afdfc587..5c6bd390142 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== diff --git a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf index d49b4e8c297..6d2722d24a1 100644 --- a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAD2MQQoCMQxF9znFLHWnB8hicCXSjYMHKBpLsE2hTQdhmLsbpuoieT958MeZig+EYyc4erAX7ICpJbQB59+cLH8JjqXfnXDKTRS3bQ1KpWKCi2St+BKzMdJdWQL+Yha4Um1RJw7CT6aCy2Eddstx3cP/d5absG6GZTAHH6Y6WeOvAAAA diff --git a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf index 075cc1476fb..6b0e8aebd88 100644 --- a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAD2MQQoCMQxF9znFLHWnB8hicCXSjYMHKBpLsE2hTQdhmLsbpuoieT958MeZig+EYyc4erAX7ICpJbQB59+cLH8JjqXfnXDKTRS3bQ1KpWKCi2St+BKzMdJdWQL+Yha4Um1RJw7CT6aCy2Eddstx3cP/d5absG6GZTAHH6Y6WeOvAAAA diff --git a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf index 60e6ef4f786..2bc13508667 100644 --- a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAD2MQQoCMQxF9znFLHWnB8hicCXSjYMHKBpLsE2hTQdhmLsbpuoieT958MeZig+EYyc4erAX7ICpJbQB59+cLH8JjqXfnXDKTRS3bQ1KpWKCi2St+BKzMdJdWQL+Yha4Um1RJw7CT6aCy2Eddstx3cP/d5absG6GZTAHH6Y6WeOvAAAA From 0bc6f16a9f914a5b123fc84be1bc736da0434f66 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 22 Sep 2016 14:27:18 +0000 Subject: [PATCH 15/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../XLF/StringMessages_ja.properties.xlf | 2 +- .../XLF/StringMessages_ru.properties.xlf | 2 +- .../XLF/StringMessages_zh_CN.properties.xlf | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf index 8ffe9ccf561..e971ff9eadc 100644 --- a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAKVUTW/bMAy9+1cQ2CEbkAVpdwvgQ5YuWIChDZr2sKPs0A1XWTIk2VkQ5L+PkvNhtzZarBfbEh/f4yNlGZHiQt3jk3BO3GU/KlQuNrwJ+/EBSIGpQzDYXx0GoDNAD+Hl9WEQmZA9l4iun+Tz/tvhy5tUEsUaTaKFWZ8YGlsMGrdzmCJqJq02enuPtpTO/iL1/EBOYuw3WTbshmLtXYWmIty+xPgY6GMwQC+svOiAX0AeMFVC7iy90vZNEMdYFDHczaSw1qfMSZHd4HpVJn8wdbHfg0wb8ChIPSz0byMsZEcsfAWFZ0sgKkFSJBKjTzCewJn+VuQ4hKtJ0L9BmxoqHGnVXcB3vd7Ftw3ajiJ4fNxyEAYvoqOGoVWqDc60MeyEhU6emqyt3A6NPg+NIXdaeSH9ATepzgt05LRZMhJt3aCTl9k5GjgKD1kfJwOSFHpaUZ+NYOVC1zuPbsVg4V1y7KJV93+NIW0p9dbeM4de8c5BtLXePFaPBSeQevLH9WRmWv9VHWPdkpRgnTAOrObS3vdTDOF6Ao5y7JYNNuavxXzdDUFRFEb/pVw4lDtgJN9q7MSWyVloobhmBvBn/FuXwTX3CqliKVDaUUZpCHOvjM5hNV3Cirviw+GCcZTaETxocKVRfBtm7awhFDwki1CRJQc7XRooLRrg0jLiaXNZboP+9DxDglJvR5GPL+tw/Oixx0VEeWGIb+FF/Y74WYl0Fy/rd2SFLF1t5qeQUvumDKN/18D20lAGAAA= diff --git a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf index ebf8101b04d..f75629276f1 100644 --- a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAKVUTW/bMAy9+1cQ2CEbkAVpdwvgQ5YuWIChDZr2sKPs0A1XWTIk2VkQ5L+PkvNhtzZarBfbEh/f4yNlGZHiQt3jk3BO3GU/KlQuNrwJ+/EBSIGpQzDYXx0GoDNAD+Hl9WEQmZA9l4iun+Tz/tvhy5tUEsUaTaKFWZ8YGlsMGrdzmCJqJq02enuPtpTO/iL1/EBOYuw3WTbshmLtXYWmIty+xPgY6GMwQC+svOiAX0AeMFVC7iy90vZNEMdYFDHczaSw1qfMSZHd4HpVJn8wdbHfg0wb8ChIPSz0byMsZEcsfAWFZ0sgKkFSJBKjTzCewJn+VuQ4hKtJ0L9BmxoqHGnVXcB3vd7Ftw3ajiJ4fNxyEAYvoqOGoVWqDc60MeyEhU6emqyt3A6NPg+NIXdaeSH9ATepzgt05LRZMhJt3aCTl9k5GjgKD1kfJwOSFHpaUZ+NYOVC1zuPbsVg4V1y7KJV93+NIW0p9dbeM4de8c5BtLXePFaPBSeQevLH9WRmWv9VHWPdkpRgnTAOrObS3vdTDOF6Ao5y7JYNNuavxXzdDUFRFEb/pVw4lDtgJN9q7MSWyVloobhmBvBn/FuXwTX3CqliKVDaUUZpCHOvjM5hNV3Cirviw+GCcZTaETxocKVRfBtm7awhFDwki1CRJQc7XRooLRrg0jLiaXNZboP+9DxDglJvR5GPL+tw/Oixx0VEeWGIb+FF/Y74WYl0Fy/rd2SFLF1t5qeQUvumDKN/18D20lAGAAA= diff --git a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf index fd40346044b..1ee055d378a 100644 --- a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAKVUTW/bMAy9+1cQ2CEbkAVpdwvgQ5YuWIChDZr2sKPs0A1XWTIk2VkQ5L+PkvNhtzZarBfbEh/f4yNlGZHiQt3jk3BO3GU/KlQuNrwJ+/EBSIGpQzDYXx0GoDNAD+Hl9WEQmZA9l4iun+Tz/tvhy5tUEsUaTaKFWZ8YGlsMGrdzmCJqJq02enuPtpTO/iL1/EBOYuw3WTbshmLtXYWmIty+xPgY6GMwQC+svOiAX0AeMFVC7iy90vZNEMdYFDHczaSw1qfMSZHd4HpVJn8wdbHfg0wb8ChIPSz0byMsZEcsfAWFZ0sgKkFSJBKjTzCewJn+VuQ4hKtJ0L9BmxoqHGnVXcB3vd7Ftw3ajiJ4fNxyEAYvoqOGoVWqDc60MeyEhU6emqyt3A6NPg+NIXdaeSH9ATepzgt05LRZMhJt3aCTl9k5GjgKD1kfJwOSFHpaUZ+NYOVC1zuPbsVg4V1y7KJV93+NIW0p9dbeM4de8c5BtLXePFaPBSeQevLH9WRmWv9VHWPdkpRgnTAOrObS3vdTDOF6Ao5y7JYNNuavxXzdDUFRFEb/pVw4lDtgJN9q7MSWyVloobhmBvBn/FuXwTX3CqliKVDaUUZpCHOvjM5hNV3Cirviw+GCcZTaETxocKVRfBtm7awhFDwki1CRJQc7XRooLRrg0jLiaXNZboP+9DxDglJvR5GPL+tw/Oixx0VEeWGIb+FF/Y74WYl0Fy/rd2SFLF1t5qeQUvumDKN/18D20lAGAAA= @@ -45,7 +45,7 @@ New results for boat class {0} in {1} are available. - {1}中船只级别{0}的新结果可用。 + {1}中船只级别{0}的新结果可用。 0: boatClassName, 1: raceDescription @@ -54,7 +54,7 @@ New results for boat class {0} in {1} are available. - {1}中船只级别{0}的新结果可用。 + {1}中船只级别{0}的新结果可用。 0: boatClassName, 1: leaderboardDescription @@ -72,7 +72,7 @@ New results for competitor {0} in {1} are available. - {1}中参赛队{0}的新结果可用。 + {1}中参赛队{0}的新结果可用。 0: competitorName, 1: leaderboardDescription @@ -102,7 +102,7 @@ Hallo {0}, - {0}您好! + {0}您好! From 76785dd1fca8b4564a330c3b20d2154fbde90d55 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 22 Sep 2016 14:28:01 +0000 Subject: [PATCH 16/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../client/StringMessages_ja.properties.xlf | 42 +++- .../client/StringMessages_ru.properties.xlf | 56 ++++- .../StringMessages_zh_CN.properties.xlf | 52 ++++- .../ui/client/StringMessages_ja.properties | 193 ++++++------------ .../ui/client/StringMessages_ru.properties | 152 ++++---------- .../ui/client/StringMessages_zh_CN.properties | 169 +++++---------- 6 files changed, 283 insertions(+), 381 deletions(-) diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf index 02d250f25c1..58c4e7aa53f 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf @@ -1,12 +1,12 @@ - +
    - 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 - +
    @@ -1988,6 +1988,30 @@ Title 表題 + + Subtitle + サブタイトル + + + Copyright + 著作権 + + + Width (pixel) + 幅 (ピクセル) + + + Height (pixel) + 高さ (ピクセル) + + + Tags + タグ + + + Size + サイズ + Duration (h:mm:ss.ms) 時間 (h:mm:ss.ms) @@ -6454,6 +6478,18 @@ Maximum number of discards カットレースの最大数 + + Active regatta configuration was set, using the "By Marks" course designer. + "マーク別" コースデザイナーを使用して、有効なレガッタ設定が行われました。 + + + Active regatta configuration already exists, but with the wrong course designer setting.\nWould you like to override course designer setting to "By Marks"? + 有効なレガッタ設定がすでに登録されていますが、コースデザイナーの設定が適切でありません。\n"マーク別" へのコースデザイナー設定を上書きしますか。 + + + All races have been denoted for racelog tracking. + すべてのレースがレースログ追跡に表示されています。 +
    \ No newline at end of file diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf index 2b439ca3d7a..167db47f118 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf @@ -1,12 +1,12 @@ - +
    - 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 - +
    @@ -65,7 +65,7 @@ This is the Wind Panel which so far is completely empty. - Это панель ветров, которая пока что совсем пуста. + Это панель ветров, которая пока что совсем пуста. Refresh @@ -929,7 +929,7 @@ Race starts with upwind leg - Гонка начинается против ветра + Гонка начинается против ветра Events @@ -1776,7 +1776,7 @@ Instead of the usual count-back system used for low point schemes to break ties, competitors with equal point sums are compared by comparing the sum of the points they scored across all acts. If this still leaves a tie, the tie is broken by the last act. - Вместо обычной системы обратного отсчета, используемой для разрешения равенства в схемах низких баллов, участники с равными суммами баллов сравниваются по сумме баллов, полученных за все акты. Если равенство сохраняется, оно разрешается по последнему акту. + Вместо обычной системы обратного отсчета, используемой для разрешения равенства в схемах низких баллов, участники с равными суммами баллов сравниваются по сумме баллов, полученных за все акты. Если равенство сохраняется, оно разрешается по последнему акту. Low Point, ties broken based on last series only @@ -1986,6 +1986,30 @@ Title Название + + Subtitle + Подзаголовок + + + Copyright + Copyright + + + Width (pixel) + Ширина (в пикселях) + + + Height (pixel) + Высота (в пикселях) + + + Tags + Теги + + + Size + Размер + Duration (h:mm:ss.ms) Длительность (ч:мм:сс.мс) @@ -3729,7 +3753,7 @@ Rerun query after refresh - Повторить запрос после обновления + Повторить запрос после обновления Refresh interval mustn''t be empty @@ -3997,7 +4021,7 @@ Error importing wind data from Igtimi: {0} - Ошибка при импорте данных о ветре из Igtimi: {0} + Ошибка при импорте данных о ветре из Igtimi: {0} The following number of fixes were imported for the listed races: {0} @@ -5352,7 +5376,7 @@ ORC Performance Curve: Sophisticated handicapping scheme that awards time allowances based on a VPP/polar assuming pre-defined legs'' angles to the wind;\nbased on these allowances, an "implied wind" is calculated which is the basis for ranking.\nImplied wind can be calculated at any time in the race and is therefore the basis for in-race ranking. - Кривая эффективности ORC: сложная схема гандикапа, предоставляющая фору с учетом VPP/полярных данных для предварительно определенных углов отрезков к ветру;\nна основе этих допусков рассчитывается "подразумеваемый ветер", используемый как основа для ранжирования.\nПодразумеваемый ветер можно рассчитать в любое время в ходе гонки, поэтому он является основой для ранжирования в гонке. + Кривая эффективности ORC: сложная схема гандикапа, предоставляющая фору с учетом VPP/полярных данных для предварительно определенных углов отрезков к ветру;\nна основе этих допусков рассчитывается "подразумеваемый ветер", используемый как основа для ранжирования.\nПодразумеваемый ветер можно рассчитать в любое время в ходе гонки, поэтому он является основой для ранжирования в гонке. Time-on-Time / Time-on-Distance: Final ranking by calculated time;\ntime is calculated by optionally applying a factor to the actual time (defaulting to 1.0)\nand subtracting an allowance in seconds per nautical mile,\napplied to the course length.\nIn-race ranks based on expected arrival at fastest boat's current position\nassuming current leg's average VMG/VMC. @@ -5647,7 +5671,7 @@ Plain Results Presenter - Презентатор простых результатов + Презентатор простых результатов Results Chart @@ -6441,6 +6465,18 @@ Maximum number of discards Максимальное число исключений + + Active regatta configuration was set, using the "By Marks" course designer. + Активная конфигурация регаты была настроена с использованием дизайнера курса "По отметкам". + + + Active regatta configuration already exists, but with the wrong course designer setting.\nWould you like to override course designer setting to "By Marks"? + Активная конфигурация регаты уже существует, но с неверно выбранным дизайнером курса.\nПереопределить выбор дизайнера курса на "По отметкам"? + + + All races have been denoted for racelog tracking. + Отслеживание журнала всех гонок отменено. +
    \ No newline at end of file diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf index 3229e8895ed..ba1617e9a56 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf @@ -1,12 +1,12 @@ - +
    - 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 - +
    @@ -1124,7 +1124,7 @@ Click and drag in the plot area to zoom in - 单击并拖动绘图区以放大 + 单击并拖动绘图区以放大 Wind speed (kts) @@ -1986,6 +1986,30 @@ Title 标题 + + Subtitle + 副标题 + + + Copyright + 版权 + + + Width (pixel) + 宽度(像素) + + + Height (pixel) + 高度(像素) + + + Tags + 标记 + + + Size + 大小 + Duration (h:mm:ss.ms) 持续时间 (h:mm:ss.ms) @@ -3501,7 +3525,7 @@ Group by - 分组方式 + 分组方式 Calculate statistic @@ -3778,7 +3802,7 @@ Course designer - 场地设计师 + 场地设计器 Racing procedure @@ -4785,7 +4809,7 @@ No overall event selected... - 未选择整个活动... + 未选择整个活动... Error trying to create new event {0}: {1} @@ -5467,7 +5491,7 @@ {0,number,#0.0} mil - {0,number,#0.0} 百万 + {0,number,#0.0} 百万 {0,number,#0.0} bil @@ -6446,6 +6470,18 @@ Maximum number of discards 最大放弃次数 + + Active regatta configuration was set, using the "By Marks" course designer. + 已使用“按标志”场地设计器设置有效的比赛配置。 + + + Active regatta configuration already exists, but with the wrong course designer setting.\nWould you like to override course designer setting to "By Marks"? + 有效的比赛配置已存在,但是场地设计器设置错误。\n是否将场地设计器设置覆盖为“按标志”? + + + All races have been denoted for racelog tracking. + 已为比赛轮次日志跟踪描述所有比赛轮次。 +
    \ 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_ja.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties index 0d6cadbd7d3..3d6f5b55e5d 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 @@ -36,7 +36,8 @@ total=Σ carry=累積 competitor=競技者 competitors=競技者 -competitorsSelected={0}/{1} の競技者が選択されました。 +competitorsSelected= + {0}/{1} の競技者が選択されました。 noSuchLeaderboard=そのようなリーダーボードはありません leaderboardConfiguration=リーダーボード設定 newDotDotDot=新規... @@ -229,7 +230,8 @@ hoverOverAPoint=詳細についてはポイントをホバー noSelection=未選択 raceIsKnownToStartUpwind=アップウィンドレグでレーススタート events=イベント -settingsForComponent={0} の設定 +settingsForComponent= + {0} の設定 noEventsFound=イベントが見つかりませんでした noEventSelected=イベントが選択されていません noLeaderboardsFound=リーダーボードが見つかりませんでした @@ -245,8 +247,10 @@ endDate=終了日付 unknownManeuver=不明のマニューバー tailLengthMustBePositive=テール長はゼロより大きい数でなければなりません。 failedToLoadRaceInformation=レース情報のロードに失敗: {0} -competitorPassedMarkAtDate={0} が {2} に {1} を通過 -valueForCompetitorAt={1} での {0}: {2} +competitorPassedMarkAtDate= + {0} が {2} に {1} を通過 +valueForCompetitorAt= + {1} での {0}: {2} reallyRemoveRace=レース ''{0}'' を削除しますか。注記: このレースのレースログもすべて永続的に削除されます。 showDetails=詳細表示 hideLeaderboard=リーダーボード非表示 @@ -270,7 +274,8 @@ detailsOfLeaderboardGroup=リーダーボードグループの詳細 edit=編集 save=保存 abort=中止 -noLeaderboardGroupWithNameFound={0} という名称のリーダーボードグループは見つかりませんでした +noLeaderboardGroupWithNameFound= + {0} という名称のリーダーボードグループは見つかりませんでした overview=概要 welcomeToSailingAnalytics=SAP Sailing Analytics へようこそ welcomeToSailingAnalyticsBody=SAP は、水上で行われている動きをセーリングファンにとってかつてないほど身近なものにします。\nこの実況リーダーボードでランキング、艇速、艇差をリアルタイムに把握してファンとしての体験を充実したものにできます。SAP を使ってすべてのレースを追いかければ、追い抜きのマニューバーを見逃すことはありません。\nこれこそ、セーリング競技を生で簡単に視聴する方法なのです。 @@ -491,12 +496,12 @@ mediaPanel=音声と動画 url=URL mimeType=MIME タイプ title=表題 -subtitle=Subtitle -copyright=Copyright -widthInPx=Width (pixel) -heightInPx=Height (pixel) -tags=Tags -size=Size +subtitle=サブタイトル +copyright=著作権 +widthInPx=幅 (ピクセル) +heightInPx=高さ (ピクセル) +tags=タグ +size=サイズ duration=時間 (h:mm:ss.ms) addMediaTrack=音声/動画追加 addYoutubeTrack=YouTube 追加 @@ -547,7 +552,8 @@ finished=フィニッシュ済 upcoming=予定 next=次 inProgress=進行中 -passedTo={0} に受け渡し済 +passedTo= + {0} に受け渡し済 gapChangeSinceLegStartInSeconds=距離差の変化 gapChangeSinceLegStartInSecondsTooltip=最後のレグがスタートしてからの首位艇との距離差の変化です。\nマイナスの数字は距離差が減少したことを意味します。\nプラスの数字は距離差が増加したことを意味します。 sideToWhichMarkAtLegStartWasRounded=マーク回航 @@ -877,7 +883,8 @@ cleanedOverallTime=全体時間のクリア dataMiningResult=データマイニング結果 groupBy=グループキー statisticToCalculate=統計の計算 -queryResultsChartSubtitle={0} データエントリを {1} 秒で処理済 +queryResultsChartSubtitle= + {0} データエントリを {1} 秒で処理済 noQuerySelected=クエリ未選択 runAutomatically=自動的に実行 windImport_Upload=アップロード @@ -885,7 +892,8 @@ windImport_Title=Expedition から風をインポート windImport_BoatId=艇 ID: windImport_SelectedRacesWarning=選択した {0} レースに風をインポートしますか。\n影響を受けるのは適用可能な時間ウィンドウにあるレースのみです。 windImport_AllRacesWarning=すべてのレースに風をインポートしますか。\n影響を受けるのは適用可能な時間ウィンドウにあるレースのみです。 -windImport_ResultHeader={0} から {1} に風をインポートしました。{2} レースが影響を受けます。 +windImport_ResultHeader= + {0} から {1} に風をインポートしました。{2} レースが影響を受けます。 windImport_ResultEntry=レース: {0} ({1}) - {2} フィックス 開始: {3} 終了: {4} windImport_ResultError=エラー: {0} showWindSpeedSeriesTooltip=すべてのデータソースに対する風速の表示を切替 @@ -956,7 +964,8 @@ activateResultEntry=結果エントリ有効化 rrs26Start=RRS26 開始 setConfiguration=設定有効化 classFlag=クラス旗 -classFlagHelpText={0} に使用するクラス旗を選定します。手順にある初期値の旗を有効化するには、''上書きしない'' を選択してください。 +classFlagHelpText= + {0} に使用するクラス旗を選定します。手順にある初期値の旗を有効化するには、''上書きしない'' を選択してください。 individualRecallHelpText=有効化されると、レースオフィサーが個別リコールをコールすることができます。 resultEntryHelpText=有効化されると、レースオフィサーがフィニッシュフェーズ中およびその後に結果を入力することができます。 startmodeFlags=スタート前の信号旗 @@ -1028,12 +1037,17 @@ courseStatus=コースステータス canOnlyBeEditedBeforeStartingTracking=追跡開始前にのみ編集可能 defineCourse=コースレイアウト定義 mapDevices=デバイスを競技者およびマークにマッピング -edit_what={0} を編集 -add_what={0} を追加 -remove_what={0} を削除 -pleaseEnterA={0} を入力してください +edit_what= + {0} を編集 +add_what= + {0} を追加 +remove_what= + {0} を削除 +pleaseEnterA= + {0} を入力してください pingPosition=ping {0} 位置 -pleaseEnterAValidValueFor={0} の有効な値を入力してください ({1}) +pleaseEnterAValidValueFor= + {0} の有効な値を入力してください ({1}) copyCourseAndCompetitors=コースと競技者を他のレースにコピー setTrackingTimes=追跡時間の設定 nowSelectRaceColumnAndFleetToCopyTo=ここで、コースのコピー先のレース列およびフリートを選択してください。 @@ -1086,13 +1100,17 @@ sharingMailTooltip=メールによるシェア sharingTwitterTooltip=Twitter でシェア sharingFacebookTooltip=Facebook でシェア #String eventSharingShortText(String eventName, String venue, String dateString); -eventSharingShortText={1} の {0} を {2} で +eventSharingShortText= + {1} の {0} を {2} で #String eventSharingLongText(String eventName, String venue, String dateString, String url); -eventSharingLongText={1} の {0} を {2} でシェアします。詳細: \n{3} +eventSharingLongText= + {1} の {0} を {2} でシェアします。詳細: \n{3} #String seriesSharingLongText(String seriesName, String url); seriesSharingLongText=シリーズ {0} をシェアします。詳細: {1} #String seriesSharingShortText(String seriesName); -seriesSharingShortText={0} +seriesSharingShortText= + {0} + competitorsAnalytics=競技者分析 mediaNoContent=写真または動画がまだ利用可能でありません。 media=メディア @@ -1155,7 +1173,8 @@ mediaShowVideoCaption=動画表示 mediaShowVideoTooltip=クリックして動画を表示: {0} mediaHideVideoCaption=動画非表示 mediaHideVideoTooltip=クリックして動画を非表示 -mediaSelectVideoCaption={0} 動画 +mediaSelectVideoCaption= + {0} 動画 mediaSelectVideoTooltip=クリックして動画を選択 mediaManageMediaCaption=メディア管理 mediaManageMediaTooltip=音声および動画クリックを設定して、時間を同期 @@ -1323,7 +1342,8 @@ followSapSports=SAP Sports をフォロー liveNow=ライブ中 analyseRace=レースを分析 nextRaceStartingIn=次のレースのスタート: -startingIn={0} がスタート: +startingIn= + {0} がスタート: raceIsPlanned=計画済 raceIsCanceled=中止 raceIsPostponed=延期 @@ -1331,7 +1351,8 @@ startingInMinutes=スタートまで {0,number} 分 startingInMinutes[none]=スタートします latestNews=最新ニュース resultsUpdate=結果更新 -competitorWonRace={0} がレースに勝利 +competitorWonRace= + {0} がレースに勝利 showCompetitorTimeOnTimeFactorColumn=Time on Time 係数 showCompetitorTimeOnDistanceAllowanceColumn=Time on Distance 修正時間 rankingMetric=ランキング @@ -1362,7 +1383,9 @@ notAvailableOnMobileMessage=この内容はモバイルでは利用できませ gotoDesktop=デスクトップバージョンにジャンプ goBack=戻る showAllX=全 {0} を表示 -collapseX={0} を圧縮 +collapseX= + {0} を圧縮 + numberOfGPSFixes=GPS フィックス fastestSailor=最速 numberWindFixes=風フィックス @@ -1374,8 +1397,10 @@ noNews=利用可能なニュースがありません。 pointsValue={0,number,#0.00} openLeaderboard=リーダーボードを開く now=現在 -minutesAgo={0} 分前 -hoursAgo={0} 時間前 +minutesAgo= + {0} 分前 +hoursAgo= + {0} 時間前 winner=勝者 durationPlain=期間 finishedRaces=フィニッシュしたレース @@ -1397,7 +1422,8 @@ latestRegattaStandings=レガッタ最新順位表 plainText=プレーンテキスト columnChart=縦棒グラフ choosePresentation=プレゼンテーション選択 -cantDisplayDataOfType={0} タイプのデータは表示できません。 +cantDisplayDataOfType= + {0} タイプのデータは表示できません。 shownDecimals=小数点表示 openFullscreenView=全画面ビューを開く closeFullscreenView=全画面ビューを閉じる @@ -1406,7 +1432,8 @@ videosCount={0,number} 動画 videosCount[one]={0,number} 動画 photosCount={0,number} 写真 photosCount[one]={0,number} 写真 -eventsHaveTakenPlace={0} イベントが行われました +eventsHaveTakenPlace= + {0} イベントが行われました eventsHaveTakenPlace[one]=1 つのイベントが行われました raceOffice=レース事務所 analyze=分析 @@ -1451,7 +1478,8 @@ addStageImage=ステージ画像追加 addTeaserImage=ティーザー画像追加 addEventLogo=イベントロゴ追加 noImagesDefinedYet=画像未定義 -imageSizeError={0} 画像のサイズが適合しません。幅は {1} と {2} px の間、高さは {3} と {4} px の間である必要があります。 +imageSizeError= + {0} 画像のサイズが適合しません。幅は {1} と {2} px の間、高さは {3} と {4} px の間である必要があります。 couldNotRetrieveImageSizeYet=画像の幅と高さをまだ取得することができません。 pleaseOnlyUploadContentYouHaveAllUsageRightsFor=すべての使用権を持っているコンテンツのみをアップロードしてください。コンテンツは途中から切れてしまう場合があることを忘れないでください。 registerCompetitorsOnRace=レースへの競技者の登録 (例: フリート分割レースに対して) @@ -1507,11 +1535,11 @@ selectAFixPositionBy=マップをドラッグしてフィックス位置を選 pleaseSelectAMark=左側の一覧からマークを選択してください。 markFixes=フィックスのマーク playstoreCampaign=utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions -playstoreInsightApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app +playstoreTrackingApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app playstoreRacecommitteeApp=https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app -playStoreBuoyPingerApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app +playStoreBuoypositioningApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app playstoreBadge=https://play.google.com/intl/en/badges/images/generic/en-play-badge.png -appstoreSapSailInsight=http://appstore.com/sapsailinsight +appstoreSapSailingInsight=http://appstore.com/sapsailinsight appstoreStgTrainingstagebuch=http://appstore.com/stgtrainingstagebuch appstoreBadgeSuffix=_en distanceFromAveragePosition=平均位置からの距離 @@ -1611,95 +1639,6 @@ raceAnalysis=レース分析 startAnalysis=スタート分析 winningLanes=勝利レーン maximumNumberOfDiscards=カットレースの最大数 - -chartSelectionHint=ヒント: リーダーボード (リーダーボードタブ内) を使用して、チャートに表示する競技者を選択することもできます。 -chooseALanguage=言語を選択してください -solutions=ソリューション -blog=ブログ -officalEventWebsite=公式イベント Web サイト -moreInfo=追加情報 -viewAnalysis=分析の表示 -overallLeaderboard=全体リーダーボード -pleaseTryAgain=再試行してください... -reloadPage=ページのリロード -errorMessageLoadingData=このページのデータのロードでエラーが発生しました。 -regattaDetails=レガッタ詳細 -chooseChartType=チャートタイプ選択 -whatsNew=最新情報 -sapSailing=SAP Sailing -search=検索 -countdownStartingInDays=日 -countdownDays=日 -countdownHours=時間 -countdownMinutes=分 -countdownSeconds=秒 -countdownDay=曜日 -countdownHour=時 -countdownMinute=分 -countdownSecond=秒 -liveCapitalLetter=ライブ -watchNow=現在視聴可能 -seriesHeaderUpcoming=予定 -eventRegattaLeaderboardLastScoreUpdate=前回スコア更新 -eventRegattaRaceNotTracked=未追跡 -footerJobs=採用 -footerCopyright=© 2011-2016 SAP Sailing Analytics -footerLanguage=SAP Sailing - -footerLegal=利用規約 -footerPrivacy=個人情報保護 -footerFeedback=フィードバック -headerLogo=Sailing Analytics -headerSearchPlaceholder=検索 -mainEventShowAll=全イベント表示 -mainEventTitle=Sailing World からの最新イベント -mainMediaSubtitle=お気に入りのセーリングイベントのすてきな最新画像を楽しんでください。 -mainMediaTitle=最新のセーリング画像 -mainMediaVideosSubtitle=最新イベントの動画にアクセスしてセーリングの世界に浸ってください。 -mainMediaVideosTitle=最新のセーリング動画 -searchResultHeaderButton=検索 -searchResultHeaderLabel=検索対象 -searchResultHeaderPlaceholder=検索キーを入力 -searchResultSortNewest=最新 -solutionsSISHeadline=SAP in Sailing -solutionsSAPHeadline=SAP Sailing Analytics -solutionsRaceHeadline=SAP Sailing Race Manager -solutionsInSightHeadline=SAP Sail InSight -solutionsBuoyPingerHeadline=SAP Sailing Buoy Pinger -solutionsPostHeadline=レース後分析 -solutionsTrainingHeadline=トレーニング日記 -solutionsSimulatorHeadline=戦略シミュレータ -sapInSailing=SAP in Sailing -contentSapInSailing1=セーリングは、SAP にとってソリューションを紹介するためのプラットフォームとしてうってつけのものであり、これまでになかったやり方でスポーツの運営を支援しています。SAP によるスポーツへの関与は、以下のことを行うツールを提供することによってセーリングから得られる体験を別次元のものに変えました。 -contentSapInSailing2=パフォーマンスの分析と戦略の最適化でセーラーを支援します -contentSapInSailing3=アクションをファンにとって身近なものにします -contentSapInSailing4=情報豊富なすばらしい解説を行うための情報とインサイトを報道関係者に提供します -contentSapInSailing5=SAP は、長年にわたりセーリングに関与しており、以下のようなチームおよびレガッタと関係を構築してきました。 -contentSapInSailing6=Travemünder Woche の公式テクノロジーパートナー -contentSapInSailing7=欧州セーリング連盟 (European Sailing Leagues) のテクノロジーパートナー -contentSapInSailing8=SAP Extreme Sailing Team のタイトルスポンサー -contentSapInSailing9=Extreme Sailing Series の公式テクニカルパートナー -contentSapInSailing10=ドイツ代表セーリングチームである Audi Sailing Team Germany のプレミアムパートナー -contentSapInSailing11=世界最大のレガッタである Kieler Woche (Kiel Week) のプレミアムパートナー -contentSapInSailing12=SAP 5O5 World Championships のタイトルスポンサー -sapSailingAnalyticsTitle=SAP Sailing Analytics -contentSapSailingAnalytics1=レースランキング、速力、操縦、ベアリングなどに関係するリアルタイム分析を提供することにより、SAP はセーリングという複雑なスポーツを簡略に分かりやすく説明することをお手伝いしています。 -contentSapSailingAnalytics2=SAP Sailing Analytics は、クラウドおよびインメモリ技術を活用し、リアルタイムで GPS および風計測データを処理し、どこからでもアクセスできる多様なフロントエンドでコンテンツを視覚化して、セーリングの世界に洞察力と透明性を提供します。 -sapSailingAnalyticsReadMore=続きを読む -sapSailingRaceManager=SAP Sailing Race Manager -contentSapSailingRaceManager=SAP Sailing Race Manager は、セーリングレガッタ運営中にレース組織者が手動で行う作業や連絡業務を自動化/簡略化することによって効率と統制を向上させます。Race Committee アプリは、レースイベントの運営/管理業務を簡略化するのに役立ち、レース委員会がより円滑に運営されるよう支援します。 -sapSailingRaceManagerReadMore=詳細情報 -sapSailInSight=SAP Sail InSight -contentSapSailInSight=With the SAP Sail InSight mobile app for iPhone, iPad and Android phones, sailboat racers can manage their regatta participation and performance anywhere and anytime. This app connects to the SAP Sailing Analytics solution and enables racers to sign in to an SAP Sail InSight-enabled regatta, track their location together with performance indicators like speed or distance sailed, and analyze their performance. -sapSailInSightReadMore=Learn More -sapSailingBuoyPinger=SAP Sailing Buoy Pinger -contentSapSailingBuoyPinger=With the SAP Sailing Buoy Pinger mobile app for Android phones, sailboat race managers can simplify the positioning of race marks and communication with the mark layers anywhere and anytime. This app connects to the SAP Sailing Analytics solution and allows regatta managers to track the geographical position of their race marks, enabling the use of the SAP Sail InSight mobile app by sailors participating in the regatta. -sapSailingBuoyPingerReadMore=Learn More -postRaceAnalytics=レース後分析 -contentPostRaceAnalytics1=セーリングイベントで収集されたデータへのアクセスにより、戦略の策定や帆走の向上に役立つ、セーラーがそのパフォーマンスを評価および分析する機会が提供されます。 -contentPostRaceAnalytics2=SAP Business Analytics ソリューションは、多くのレガッタおよびレースにわたって履歴データを照会および分析するツールをセーラー、コーチ、ファン、そして報道関係者に提供します。SAP HANA は、こうした人たちが自身のパフォーマンスを最適化し、予定されているレガッタで成功を収める戦略を策定するために簡単、迅速、かつ効率的な方法でパフォーマンスのパターン、傾向、およびセーラーのプロファイルを知ることを可能にします。 -i18nDeSolutionsTrainingHeadline=SAP Sail Better – STG Training Diary -i18nDeSolutionsTrainingText=STG Training Diary は、選手の体調、ならびに水上トレーニング、身体的トレーニング、操艇、メンタル、理論、さらに教育や移動などのその他の活動の領域におけるトレーニングへの取り組みの日々の記録および分析をサポートします。 -strategySimulator=戦略シミュレータ -contentStrategySimulator=適切な戦略を選択すれば、レース中に大きな競争上の優位性を得ることが可能です。Strategy Simulator により、さまざまな風況および水流に対して最良のセーリング戦略を決定することが容易になります。風と水流をシミュレーションで直ちに変更することができるため、不確かな気象条件に対しても戦略の確かさを簡単に評価することができます。 -strategySimulatorReadMore=詳細情報 -impressum=刻印 \ No newline at end of file +notificationRegattaConfigurationUpdatedUsingByMarks="マーク別" コースデザイナーを使用して、有効なレガッタ設定が行われました。 +warningOverrideRegattaConfigurationCourseDesignerToByMarks=有効なレガッタ設定がすでに登録されていますが、コースデザイナーの設定が適切でありません。\n"マーク別" へのコースデザイナー設定を上書きしますか。 +allRacesHaveBeenDenoted=すべてのレースがレースログ追跡に表示されています。 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 c8bcc492f9f..a30ff0fdfff 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 @@ -229,7 +229,8 @@ hoverOverAPoint=Наведите указатель для просмотра п noSelection=Ничего не выбрано raceIsKnownToStartUpwind=Гонка начинается против ветра events=События -settingsForComponent={0} — параметры +settingsForComponent= + {0} — параметры noEventsFound=События не найдены noEventSelected=Не выбрано событие noLeaderboardsFound=Таблицы лидеров не найдены @@ -245,8 +246,10 @@ endDate=Дата окончания unknownManeuver=Неизвестный маневр tailLengthMustBePositive=длина хвоста должна быть задана числом больше нуля. failedToLoadRaceInformation=Не удалось загрузить сведения о гонке: {0} -competitorPassedMarkAtDate={0} пройдено {1} в {2} -valueForCompetitorAt={0} в {1}: {2} +competitorPassedMarkAtDate= + {0} пройдено {1} в {2} +valueForCompetitorAt= + {0} в {1}: {2} reallyRemoveRace=Действительно удалить гонку ''{0}''? Примечание: все журналы для этой гонки также будут окончательно удалены! showDetails=Показать подробности hideLeaderboard=Скрыть таблицу лидеров @@ -491,12 +494,12 @@ mediaPanel=Аудио и видео url=URL-адрес mimeType=Тип MIME title=Название -subtitle=Subtitle +subtitle=Подзаголовок copyright=Copyright -widthInPx=Width (pixel) -heightInPx=Height (pixel) -tags=Tags -size=Size +widthInPx=Ширина (в пикселях) +heightInPx=Высота (в пикселях) +tags=Теги +size=Размер duration=Длительность (ч:мм:сс.мс) addMediaTrack=Добавить аудио/видео addYoutubeTrack=Добавить Youtube @@ -535,7 +538,8 @@ live=активно swissTimingArchiveConnector=Архив событий SwissTiming errorFetchingChartData=Ошибка при извлечении данных диаграммы: {0} loadingCompetitorData=Загрузка данных участника... -competitorRegattaDataAfterRaceN={0} после гонки {1} +competitorRegattaDataAfterRaceN= + {0} после гонки {1} rankChart=Ранг netPoints=Чистый балл raceNetPointsTooltip=Чистый балл участника в данной гонке @@ -1001,8 +1005,10 @@ seeIgtimiTabForAccountSettings=Параметры учетной записи, importWindFromIgtimi=Импортировать ветер из Igtimi errorImportingIgtimiWind=Ошибка при импорте данных о ветре из Igtimi: {0} resultFromIgtimiWindImport=Для перечисленных гонок импортировано следующее число замеров: {0} -timeToStart={0} до старта -timeSinceStart={0} от старта +timeToStart= + {0} до старта +timeSinceStart= + {0} от старта distanceToLine=Дистанция до линии старта beatAngleTooltip=Угол между направлением участников и ветром beatAngle=Угол удара @@ -1086,13 +1092,16 @@ sharingMailTooltip=Поделиться по почте sharingTwitterTooltip=Поделиться в Twitter sharingFacebookTooltip=Поделиться в Facebook #String eventSharingShortText(String eventName, String venue, String dateString); -eventSharingShortText={0} в {1} на {2} +eventSharingShortText= + {0} в {1} на {2} #String eventSharingLongText(String eventName, String venue, String dateString, String url); eventSharingLongText=Хочу поделиться {0} в {1} на {2}. Подробно: \n{3} #String seriesSharingLongText(String seriesName, String url); seriesSharingLongText=Хочу поделиться серией {0}. Подробно: \n{1} #String seriesSharingShortText(String seriesName); -seriesSharingShortText={0} +seriesSharingShortText= + {0} + competitorsAnalytics=Анализ участников mediaNoContent=Фото или видео пока недоступны. media=Мультимедиа @@ -1155,7 +1164,8 @@ mediaShowVideoCaption=Показать видео mediaShowVideoTooltip=Щелкните, чтобы показать видео: {0} mediaHideVideoCaption=Скрыть видео mediaHideVideoTooltip=Щелкните, чтобы скрыть видео -mediaSelectVideoCaption={0} видео +mediaSelectVideoCaption= + {0} видео mediaSelectVideoTooltip=Щелкните, чтобы выбрать видео mediaManageMediaCaption=Управление мультимедиа mediaManageMediaTooltip=Настройка аудио- и видеоклипов, синхронизация времени @@ -1323,7 +1333,8 @@ followSapSports=Отслеживать SAP Sports liveNow=Оперативные данные analyseRace=Анализировать гонку nextRaceStartingIn=Следующая гонка начинается через -startingIn={0} начинается через +startingIn= + {0} начинается через raceIsPlanned=Запланировано raceIsCanceled=Отменено raceIsPostponed=Отложено @@ -1375,8 +1386,10 @@ noNews=Новости пока недоступны. pointsValue={0,number,#0.00} openLeaderboard=Открыть таблицу лидеров now=Сейчас -minutesAgo={0} мин. назад -hoursAgo={0} ч. назад +minutesAgo= + {0} мин. назад +hoursAgo= + {0} ч. назад winner=Победитель durationPlain=Продолжительность finishedRaces=Завершенные гонки @@ -1385,7 +1398,8 @@ all=Все points=Баллы numberOfRacesShort=Гонки courseGeometry=Геометрия курса -degreesToWind={0}° к ветру +degreesToWind= + {0}° к ветру miniLeeaderboardLegendText=Показывает баллы и число гонок каждого участника currentOfTotal={0,number}/{1,number} noFinishedRaces=Завершенных гонок еще нет @@ -1508,11 +1522,11 @@ selectAFixPositionBy=Выберите позицию замера, перета pleaseSelectAMark=Выберите отметку из списка слева. markFixes=Замеры отметки playstoreCampaign=utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions -playstoreInsightApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app +playstoreTrackingApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app playstoreRacecommitteeApp=https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app -playStoreBuoyPingerApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app +playStoreBuoypositioningApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app playstoreBadge=https://play.google.com/intl/en/badges/images/generic/en-play-badge.png -appstoreSapSailInsight=http://appstore.com/sapsailinsight +appstoreSapSailingInsight=http://appstore.com/sapsailinsight appstoreStgTrainingstagebuch=http://appstore.com/stgtrainingstagebuch appstoreBadgeSuffix=_en distanceFromAveragePosition=Дистанция от средней позиции @@ -1612,96 +1626,6 @@ raceAnalysis=Анализ гонки startAnalysis=Начать анализ winningLanes=Выигрышные маршруты maximumNumberOfDiscards=Максимальное число исключений - -chartSelectionHint=Совет: таблицу лидеров (на вкладке ТАБЛИЦА ЛИДЕРОВ) также можно использовать для выбора участников, отображаемых в диаграмме. -chooseALanguage=Выбор языка -solutions=Решения -blog=Блог -officalEventWebsite=Официальный веб-сайт события -moreInfo=Больше сведений -viewAnalysis=Просмотреть анализ -overallLeaderboard=Общая таблица лидеров -pleaseTryAgain=Повторите попытку... -reloadPage=Перезагрузить страницу -errorMessageLoadingData=При загрузке данных для этой страницы возникла ошибка. -regattaDetails=Подробности регаты -chooseChartType=Выберите тип диаграммы -whatsNew=Новые возможности -sapSailing=SAP Sailing -search=Поиск -countdownStartingInDays=дн. -countdownDays=дн. -countdownHours=ч. -countdownMinutes=мин. -countdownSeconds=сек. -countdownDay=дн. -countdownHour=ч. -countdownMinute=мин. -countdownSecond=сек. -liveCapitalLetter=Активно -watchNow=Смотреть сейчас -seriesHeaderUpcoming=Предстоит -eventRegattaLeaderboardLastScoreUpdate=Последнее обновление оценок -eventRegattaRaceNotTracked=Не отслеживается -footerJobs=Работа -footerCopyright=© SAP Sailing Analytics, 2011–2016. -footerLanguage=Язык SAP Sailing -footerLegal=Раскрытие юридической информации -footerPrivacy=Конфиденциальность -footerFeedback=Обратная связь -headerLogo=Sailing Analytics -headerSearchPlaceholder=Поиск -mainEventShowAll=Показать все события -mainEventTitle=Последние события в мире парусного спорта -mainMediaSubtitle=Погрузитесь в новейшие и прекраснейшие впечатления от избранного события в мире парусного спорта. -mainMediaTitle=Фотографы любят паруса -mainMediaVideosSubtitle=Погрузитесь в мир парусного спорта и просмотрите другие видео наших последних событий. -mainMediaVideosTitle=Последние видеозаписи -searchResultHeaderButton=Поиск -searchResultHeaderLabel=Ваш поиск -searchResultHeaderPlaceholder=Введите ключ поиска -searchResultSortNewest=Недавние -solutionsSISHeadline=SAP в парусном спорте -solutionsSAPHeadline=SAP Sailing Analytics -solutionsRaceHeadline=SAP Sailing Race Manager -solutionsInSightHeadline=SAP Sail InSight -solutionsBuoyPingerHeadline=SAP Sailing Buoy Pinger -solutionsPostHeadline=Аналитика после гонки -solutionsTrainingHeadline=Дневник тренировок -solutionsSimulatorHeadline=Симулятор стратегии -sapInSailing=SAP в парусном спорте -contentSapInSailing1=Парусный спорт предоставляет отличную платформу для демонстрации решений SAP и беспрецедентной помощи развитию спорта. Вовлеченность SAP преобразила парусный спорт, предоставив инструменты, которые: -contentSapInSailing2=Помогают мореходам анализировать эффективность и оптимизировать стратегию. -contentSapInSailing3=Делают болельщиков ближе к действию. -contentSapInSailing4=Предоставляют информацию и аналитику для более информированного комментирования. -contentSapInSailing5=За немалое время причастности к парусному спорту компанией SAP накоплено солидное портфолио сотрудничества с разными командами регатами, включая: -contentSapInSailing6=Официальный технологический партнер Travemünder Woche -contentSapInSailing7=Технический партнер Европейской лиги парусного спорта -contentSapInSailing8=Титульный спонсор команды SAP Extreme Sailing Team -contentSapInSailing9=Официальный технический партнер серии Extreme Sailing Series -contentSapInSailing10=Премиальный партнер национальной команды Германии по парусному спорту, Audi Sailing Team Germany -contentSapInSailing11=Премиальный партнер крупнейшей в мире регаты Kieler Woche (Кильская неделя) -contentSapInSailing12=Титульный спонсор чемпионатов мира SAP 5O5 -sapSailingAnalyticsTitle=SAP Sailing Analytics -contentSapSailingAnalytics1=Предоставляя аналитику по данным о рангах в гонке, скоростях, маневрах, ветрах и т. д. в режиме реального времени, SAP помогает упростить и демистифицировать сложный парусный спорт. -contentSapSailingAnalytics2=SAP Sailing Analytics делает мир парусного спорта понятным и прозрачным, используя облако и технологию In-Memory, обработку данных GPS и параметров ветра в реальном времени, а также визуализацию контекста в разных пользовательских интерфейсах, доступных где угодно. -sapSailingAnalyticsReadMore=См. также -sapSailingRaceManager=SAP Sailing Race Manager -contentSapSailingRaceManager=Приложение SAP Sailing Race Manager повышает уровень эффективности и контроля для организаторов гонки за счет автоматизации и упрощения выполняемых вручную задач и общения во время проведения парусных регат. Приложение Race Committee помогает упростить проведение событий и управление ими, освобождая для оргкомитета время на лучшую проработку деталей. -sapSailingRaceManagerReadMore=Узнать больше -sapSailInSight=SAP Sail InSight -contentSapSailInSight=With the SAP Sail InSight mobile app for iPhone, iPad and Android phones, sailboat racers can manage their regatta participation and performance anywhere and anytime. This app connects to the SAP Sailing Analytics solution and enables racers to sign in to an SAP Sail InSight-enabled regatta, track their location together with performance indicators like speed or distance sailed, and analyze their performance. -sapSailInSightReadMore=Learn More -sapSailingBuoyPinger=SAP Sailing Buoy Pinger -contentSapSailingBuoyPinger=With the SAP Sailing Buoy Pinger mobile app for Android phones, sailboat race managers can simplify the positioning of race marks and communication with the mark layers anywhere and anytime. This app connects to the SAP Sailing Analytics solution and allows regatta managers to track the geographical position of their race marks, enabling the use of the SAP Sail InSight mobile app by sailors participating in the regatta. -sapSailingBuoyPingerReadMore=Learn More -postRaceAnalytics=Аналитика после гонки -contentPostRaceAnalytics1=Доступ к данным, собранным на парусных событиях, дает мореходам возможность оценить и проанализировать свои показатели, помогая разрабатывать стратегии и повышать мастерство. -contentPostRaceAnalytics2=Решения SAP Business Analytics предоставляют мореходам, тренерам, болельщикам и СМИ инструменты для просмотра и анализа исторических данных по множеству регат и гонок. SAP HANA позволяет изучать паттерны эффективности, тенденции и профили мореходов простым, быстрым и эффективным образом для оптимизации своих показателей и разработки успешных стратегий на будущие регаты. -i18nDeSolutionsTrainingHeadline=SAP Sail Better – Дневник тренировок STG -i18nDeSolutionsTrainingText=Дневник тренировок STG поддерживает ежедневное документирования и анализ физического состояния атлета и его усилий в тренировках на воде, физической подготовке, работе с лодкой, моральной, теоретической подготовке, а также других видах деятельности, таких как образование и путешествия. -strategySimulator=Симулятор стратегии -contentStrategySimulator=Выбор правильной стратегии может обеспечить большое конкурентное преимущество во время гонки. Симулятор стратегии упрощает определение лучшей стратегии хождения под парусом для разных атмосферных условий и водных течений. Возможность мгновенного изменения ветра и течения в симуляции позволяет легко оценить надежность стратегии даже для неопределенных погодных условий. -strategySimulatorReadMore=Узнать больше -impressum=Печать - +notificationRegattaConfigurationUpdatedUsingByMarks=Активная конфигурация регаты была настроена с использованием дизайнера курса "По отметкам". +warningOverrideRegattaConfigurationCourseDesignerToByMarks=Активная конфигурация регаты уже существует, но с неверно выбранным дизайнером курса.\nПереопределить выбор дизайнера курса на "По отметкам"? +allRacesHaveBeenDenoted=Отслеживание журнала всех гонок отменено. diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties index dc0cca22d58..207e6d7af32 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties @@ -229,7 +229,8 @@ hoverOverAPoint=将鼠标移到得分,查看详情 noSelection=无选择 raceIsKnownToStartUpwind=比赛轮次从迎风航段开始 events=活动 -settingsForComponent={0}设置 +settingsForComponent= + {0}设置 noEventsFound=未找到活动 noEventSelected=未选择活动 noLeaderboardsFound=未找到积分榜 @@ -245,8 +246,10 @@ endDate=结束日期 unknownManeuver=未知操作 tailLengthMustBePositive=尾流线长度必须是大于零的数字。 failedToLoadRaceInformation=加载比赛轮次信息失败: {0} -competitorPassedMarkAtDate={0}于{2}越过{1} -valueForCompetitorAt={0}(于{1}): {2} +competitorPassedMarkAtDate= + {0}于{2}越过{1} +valueForCompetitorAt= + {0}(于{1}): {2} reallyRemoveRace=是否确定移除比赛轮次 "{0}"? 注意: 此比赛轮次的所有比赛轮次日志也将永久移除! showDetails=显示详情 hideLeaderboard=隐藏积分榜 @@ -491,12 +494,12 @@ mediaPanel=音频和视频 url=URL mimeType=MIME 类型 title=标题 -subtitle=Subtitle -copyright=Copyright -widthInPx=Width (pixel) -heightInPx=Height (pixel) -tags=Tags -size=Size +subtitle=副标题 +copyright=版权 +widthInPx=宽度(像素) +heightInPx=高度(像素) +tags=标记 +size=大小 duration=持续时间 (h:mm:ss.ms) addMediaTrack=添加音频/视频 addYoutubeTrack=添加 Youtube @@ -535,7 +538,8 @@ live=实况 swissTimingArchiveConnector=SwissTiming 归档的活动 errorFetchingChartData=获取记录数据出错: {0} loadingCompetitorData=正在加载参赛队数据... -competitorRegattaDataAfterRaceN={0} 比赛轮次后 {1} +competitorRegattaDataAfterRaceN= + {0} 比赛轮次后 {1} rankChart=排名 netPoints=净分 raceNetPointsTooltip=参赛队在本轮次比赛中的净分 @@ -877,7 +881,8 @@ cleanedOverallTime=清理总时间 dataMiningResult=数据挖掘结果 groupBy=分组方式 statisticToCalculate=计算统计 -queryResultsChartSubtitle={1}秒内处理{0}个数据条目 +queryResultsChartSubtitle= + {1}秒内处理{0}个数据条目 noQuerySelected=没有查询选择 runAutomatically=自动运行 windImport_Upload=上传 @@ -944,7 +949,7 @@ maximumRoundsForCourse=场地的最大轮次 resultsMailRecipient=结果邮件收件人 deviceConfiguration=设备配置 none=无 -courseDesignerMode=场地设计师 +courseDesignerMode=场地设计器 racingProcedure=比赛程序 courseNames=场地名称 generate=生成 @@ -1001,8 +1006,10 @@ seeIgtimiTabForAccountSettings=请查看 "Igtimi" 选项卡了解账户设置, importWindFromIgtimi=从 Igtimi 导入风力数据 errorImportingIgtimiWind=从 Igtimi 导入风力数据出错: {0} resultFromIgtimiWindImport=已为所列的比赛轮次导入以下修复: {0} -timeToStart={0} - 开始 -timeSinceStart={0} - 开始后 +timeToStart= + {0} - 开始 +timeSinceStart= + {0} - 开始后 distanceToLine=与起航线的距离 beatAngleTooltip=赛队航行的方向和风的夹角 beatAngle=迎风航行角度 @@ -1086,13 +1093,17 @@ sharingMailTooltip=通过邮件分享 sharingTwitterTooltip=在 Twitter 上分享 sharingFacebookTooltip=在 Facebook 上分享 #String eventSharingShortText(String eventName, String venue, String dateString); -eventSharingShortText={2}{1}中的{0} +eventSharingShortText= + {2} + {1}中的{0} #String eventSharingLongText(String eventName, String venue, String dateString, String url); eventSharingLongText=我要在{2}分享{0}中的{1}。 详情: \n{3} #String seriesSharingLongText(String seriesName, String url); seriesSharingLongText=我要分享系列赛{0}。 详情: {1} #String seriesSharingShortText(String seriesName); -seriesSharingShortText={0} +seriesSharingShortText= + {0} + competitorsAnalytics=参赛队分析 mediaNoContent=没有可用的照片或视频。 media=媒体 @@ -1155,7 +1166,8 @@ mediaShowVideoCaption=显示视频 mediaShowVideoTooltip=点击显示视频: {0} mediaHideVideoCaption=隐藏视频 mediaHideVideoTooltip=点击隐藏视频 -mediaSelectVideoCaption={0}个视频 +mediaSelectVideoCaption= + {0}个视频 mediaSelectVideoTooltip=点击选择视频 mediaManageMediaCaption=管理媒体 mediaManageMediaTooltip=配置音频和视频短片,同步时间 @@ -1323,7 +1335,8 @@ followSapSports=关注 SAP Sports liveNow=现在直播 analyseRace=分析比赛轮次 nextRaceStartingIn=下一个比赛轮次开始于 -startingIn={0}开始于 +startingIn= + {0}开始于 raceIsPlanned=已计划 raceIsCanceled=已放弃 raceIsPostponed=已延迟 @@ -1331,7 +1344,8 @@ startingInMinutes={0,number} 分钟后开始 startingInMinutes[none]=现在开始 latestNews=最新消息 resultsUpdate=结果更新 -competitorWonRace={0}赢得比赛轮次 +competitorWonRace= + {0}赢得比赛轮次 showCompetitorTimeOnTimeFactorColumn=时间对时间系数 showCompetitorTimeOnDistanceAllowanceColumn=时间对距离宽限 rankingMetric=排名 @@ -1363,6 +1377,7 @@ gotoDesktop=进入桌面版 goBack=返回 showAllX=显示所有{0} collapseX=折叠{0} + numberOfGPSFixes=GPS 修复 fastestSailor=最快 numberWindFixes=风力修复 @@ -1374,8 +1389,10 @@ noNews=没有可用的消息。 pointsValue={0,number,#0.00} openLeaderboard=打开积分榜 now=现在 -minutesAgo={0}分钟前 -hoursAgo={0}小时前 +minutesAgo= + {0}分钟前 +hoursAgo= + {0}小时前 winner=获胜者 durationPlain=持续时间 finishedRaces=结束的比赛轮次 @@ -1384,7 +1401,8 @@ all=全部 points=分数 numberOfRacesShort=比赛轮次数 courseGeometry=场地几何结构 -degreesToWind={0}°(相对于风) +degreesToWind= + {0}°(相对于风) miniLeeaderboardLegendText=显示分数以及各参赛队的比赛轮次数 currentOfTotal={0,number}/{1,number} noFinishedRaces=没有结束的比赛轮次 @@ -1406,7 +1424,8 @@ videosCount={0,number} 个视频 videosCount[one]={0,number} 个视频 photosCount={0,number} 张照片 photosCount[one]={0,number} 张照片 -eventsHaveTakenPlace={0}个活动已举行 +eventsHaveTakenPlace= + {0}个活动已举行 eventsHaveTakenPlace[one]=已举行一场活动 raceOffice=竞赛办公室 analyze=分析 @@ -1451,7 +1470,8 @@ addStageImage=添加阶段图像 addTeaserImage=添加预告片图像 addEventLogo=添加活动图标 noImagesDefinedYet=尚未定义图像 -imageSizeError={0}的图像大小不合适。 宽度应在{1}和{2} px 之间,高度在{3}和{4} px 之间。 +imageSizeError= + {0}的图像大小不合适。 宽度应在{1}和{2} px 之间,高度在{3}和{4} px 之间。 couldNotRetrieveImageSizeYet=无法检索图像的宽度和高度。 pleaseOnlyUploadContentYouHaveAllUsageRightsFor=请仅上传具有所有使用权的内容。请记住,内容可能会被截断。 registerCompetitorsOnRace=在比赛轮次注册参赛队(例如区分船队比赛) @@ -1507,11 +1527,11 @@ selectAFixPositionBy=通过拖动地图选择修复位置。然后利用下方 pleaseSelectAMark=请从左侧的清单中选择一个标志。 markFixes=标志修复 playstoreCampaign=utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions -playstoreInsightApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app +playstoreTrackingApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app playstoreRacecommitteeApp=https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app -playStoreBuoyPingerApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app +playStoreBuoypositioningApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app playstoreBadge=https://play.google.com/intl/en/badges/images/generic/en-play-badge.png -appstoreSapSailnsight=http://appstore.com/sapsailinsight +appstoreSapSailingInsight=http://appstore.com/sapsailinsight appstoreStgTrainingstagebuch=http://appstore.com/stgtrainingstagebuch appstoreBadgeSuffix=_en distanceFromAveragePosition=与平均位置的距离 @@ -1611,95 +1631,6 @@ raceAnalysis=比赛轮次分析 startAnalysis=起航分析 winningLanes=获胜的船道 maximumNumberOfDiscards=最大放弃次数 - -chartSelectionHint=提示:您还可以使用积分榜(在 LEADERBOARD 选项卡中)选择在记录中显示的参赛队。 -chooseALanguage=选择一种语言 -solutions=解决方案 -blog=博客 -officalEventWebsite=官方活动网站 -moreInfo=更多信息 -viewAnalysis=查看分析 -overallLeaderboard=总积分榜 -pleaseTryAgain=请重试... -reloadPage=重新加载页面 -errorMessageLoadingData=加载此页面数据时出错。 -regattaDetails=比赛详情 -chooseChartType=选择记录类型 -whatsNew=最新消息 -sapSailing=SAP Sailing -search=搜索 -countdownStartingInDays=天 -countdownDays=天 -countdownHours=小时 -countdownMinutes=分钟 -countdownSeconds=秒 -countdownDay=天 -countdownHour=小时 -countdownMinute=分钟 -countdownSecond=秒 -liveCapitalLetter=实时 -watchNow=现在观看 -seriesHeaderUpcoming=即将到来 -eventRegattaLeaderboardLastScoreUpdate=上次得分更新 -eventRegattaRaceNotTracked=未跟踪 -footerJobs=招贤纳士 -footerCopyright=版权所有 © 2011-2016 SAP Sailing Analytics -footerLanguage=SAP Sailing 语言 -footerLegal=法律声明 -footerPrivacy=隐私 -footerFeedback=反馈 -headerLogo=Sailing Analytics -headerSearchPlaceholder=搜索 -mainEventShowAll=显示所有活动 -mainEventTitle=来自风帆世界的最新活动 -mainMediaSubtitle=徜徉在让人着迷、震撼人心的最新航行活动中。 -mainMediaTitle=摄影师酷爱航行 -mainMediaVideosSubtitle=沉浸在风帆世界中,并通过更多视频了解最新活动。 -mainMediaVideosTitle=最近视频条目 -searchResultHeaderButton=搜索 -searchResultHeaderLabel=您的搜索 -searchResultHeaderPlaceholder=输入搜索关键字 -searchResultSortNewest=最近 -solutionsSISHeadline=SAP in Sailing -solutionsSAPHeadline=SAP Sailing Analytics -solutionsRaceHeadline=SAP Sailing Race Manager -solutionsInSightHeadline=SAP Sail InSight -solutionsBuoyPingerHeadline=SAP Sailing Buoy Pinger -solutionsPostHeadline=赛后分析 -solutionsTrainingHeadline=训练日记 -solutionsSimulatorHeadline=策略模拟器 -sapInSailing=SAP in Sailing -contentSapInSailing1=SAP 凭借此航行应用提供完美的平台,向用户展示解决方案,并以前所未有的顺畅速度呈现体育赛事。 SAP 通过提供各种工具转换其在参与此项运动中获得的航行经验,这些工具: -contentSapInSailing2=帮助水手分析表现并优化策略 -contentSapInSailing3=让粉丝近距离直击运动 -contentSapInSailing4=为媒体提供信息和见解,从而提供深度评论 -contentSapInSailing5=SAP 长期参与航行运动,并成立了跨越团队和比赛的组合,包括: -contentSapInSailing6=特拉沃明德周的官方技术合作伙伴 -contentSapInSailing7=欧洲帆船联盟的技术合作伙伴 -contentSapInSailing8=SAP 极限帆船队的冠名赞助商 -contentSapInSailing9=极限帆船系列赛的官方技术合作伙伴 -contentSapInSailing10=德国国家帆船队 - 德国奥迪帆船队的优选合作伙伴 -contentSapInSailing11=世界上最大的帆船盛事“基尔周”的优选合作伙伴 -contentSapInSailing12=SAP 5O5 世界锦标赛的冠名赞助商 -sapSailingAnalyticsTitle=SAP Sailing Analytics -contentSapSailingAnalytics1=通过实时分析比赛轮次排名、速度、操作和航向角等,SAP 可简化此复杂的航行运动,使其浅显易懂。 -contentSapSailingAnalytics2=SAP Sailing Analytics 利用云和内存技术实时处理 GPS 和风力测量数据,并在可从任何地方访问的前端显示,让用户全面、透彻地了解航行运动。 -sapSailingAnalyticsReadMore=更多信息 -sapSailingRaceManager=SAP Sailing Race Manager -contentSapSailingRaceManager=SAP Sailing Race Manager 通过自动化及简化赛事主办机构在航行比赛期间的人工作业和沟通,实现更高的效率和控制能力。 Race Committee 应用简化举办和管理比赛活动的操作,使竞赛委员会的操作更加智能。 -sapSailingRaceManagerReadMore=了解更多 -sapSailInSight=SAP Sail InSight -contentSapSailInSight=With the SAP Sail InSight mobile app for iPhone, iPad and Android phones, sailboat racers can manage their regatta participation and performance anywhere and anytime. This app connects to the SAP Sailing Analytics solution and enables racers to sign in to an SAP Sail InSight-enabled regatta, track their location together with performance indicators like speed or distance sailed, and analyze their performance. -sapSailInSightReadMore=Learn More -sapSailingBuoyPinger=SAP Sailing Buoy Pinger -contentSapSailingBuoyPinger=With the SAP Sailing Buoy Pinger mobile app for Android phones, sailboat race managers can simplify the positioning of race marks and communication with the mark layers anywhere and anytime. This app connects to the SAP Sailing Analytics solution and allows regatta managers to track the geographical position of their race marks, enabling the use of the SAP Sail InSight mobile app by sailors participating in the regatta. -sapSailingBuoyPingerReadMore=Learn More -postRaceAnalytics=赛后分析 -contentPostRaceAnalytics1=水手通过访问航行活动期间收集的数据评估和分析其表现,帮助他们制定策略和优化航行方案。 -contentPostRaceAnalytics2=SAP Business Analytics 解决方案为水手、教练、粉丝和媒体提供跨比赛和轮次浏览和分析历史数据的工具。 SAP HANA 通过简单、快速和高效的方式使其了解表现模式、趋势和水手资料,从而提高自己的表现并为今后的比赛制定成功的策略。 -i18nDeSolutionsTrainingHeadline=SAP Sail Better – STG Training Diary -i18nDeSolutionsTrainingText=STG Training Diary 可每天记录和分析运动员的身体状况,在水上训练、体能训练、船艇工作、心理、理论以及教育或旅行等其他活动领域的训练力度。 -strategySimulator=策略模拟器 -contentStrategySimulator=选择正确的策略可在比赛期间极大地提高竞争优势。 策略模拟器为不同的风力条件和水流简化确定最佳的航行策略。 由于可以在模拟中即时更改风和水流,即便在不确定的天气条件下,也可以轻松地评估策略的稳健性。 -strategySimulatorReadMore=了解更多 -impressum=版本说明 \ No newline at end of file +notificationRegattaConfigurationUpdatedUsingByMarks=已使用“按标志”场地设计器设置有效的比赛配置。 +warningOverrideRegattaConfigurationCourseDesignerToByMarks=有效的比赛配置已存在,但是场地设计器设置错误。\n是否将场地设计器设置覆盖为“按标志”? +allRacesHaveBeenDenoted=已为比赛轮次日志跟踪描述所有比赛轮次。 From ecaffb5e74ca004f60d427e0738c15c7feb28bc5 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 22 Sep 2016 14:28:11 +0000 Subject: [PATCH 17/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../XLF/FileStorageStringMessages_ja.properties.xlf | 2 +- .../XLF/FileStorageStringMessages_ru.properties.xlf | 2 +- .../XLF/FileStorageStringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf index 8736aa95911..ce08ded6989 100644 --- a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf +++ b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAJ1SwW7bMAy95yt4bNHBPeTcQ4tiQLGiGNrmAxiZTojSkiHKSb3Dvn2klGTddSdL1OPj4/PT9SNpuHsrKRMMLKSQItyP+Ms+b+sO3vcEmXSWwnFXERBxJGAFhIyxTyNsNk+PMMmsUAydMu84ojQwxd4au5Wu70Mg1ae+DmwXsL4rITwQbAXjB5QEsxL8vu3wqLchU0+xMIoCRy2E/fWF6ActTToZrMCJ0Kr/wfgwhw8qL7ZXpfQDpAFa+UxxtUf1M0q2tgXok7V8A7PAnzNEol5B52HgwDYEJsojq3KKer2SFFBOgvOBg7mdMqj5fvbVFVUDK7S5p4tpHDv4Xt93JsY7qHdohf3Esr9xaNXsWgJG2Nqx+mFILLBFpU2Wv7iXVMhG2ZPPCykW1yuLSzHmEx7GWSsi0+DxuLDyVjwUo7HI4hGxMPhY34g+cZyEKnbPdDAF2wXGNMcaIDz1fV3vax8M2QKlBQuHTnFSZPH8BKumZk+mSTi0f3HxoGsGPzTl1Wc/w+b1GW7gsvhdLRx9JZgnSdibvirlyCL/btgYn88TKme9gV/PqXDtbRf7Mbij1R9TuhdHUgMAAA== diff --git a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf index 92b49c6a325..e7755682f45 100644 --- a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf +++ b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAJ1SwW7bMAy95yt4bNHBPeTcQ4tiQLGiGNrmAxiZTojSkiHKSb3Dvn2klGTddSdL1OPj4/PT9SNpuHsrKRMMLKSQItyP+Ms+b+sO3vcEmXSWwnFXERBxJGAFhIyxTyNsNk+PMMmsUAydMu84ojQwxd4au5Wu70Mg1ae+DmwXsL4rITwQbAXjB5QEsxL8vu3wqLchU0+xMIoCRy2E/fWF6ActTToZrMCJ0Kr/wfgwhw8qL7ZXpfQDpAFa+UxxtUf1M0q2tgXok7V8A7PAnzNEol5B52HgwDYEJsojq3KKer2SFFBOgvOBg7mdMqj5fvbVFVUDK7S5p4tpHDv4Xt93JsY7qHdohf3Esr9xaNXsWgJG2Nqx+mFILLBFpU2Wv7iXVMhG2ZPPCykW1yuLSzHmEx7GWSsi0+DxuLDyVjwUo7HI4hGxMPhY34g+cZyEKnbPdDAF2wXGNMcaIDz1fV3vax8M2QKlBQuHTnFSZPH8BKumZk+mSTi0f3HxoGsGPzTl1Wc/w+b1GW7gsvhdLRx9JZgnSdibvirlyCL/btgYn88TKme9gV/PqXDtbRf7Mbij1R9TuhdHUgMAAA== diff --git a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf index 129d6a56ea8..ea01bca5c5e 100644 --- a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAJ1SwW7bMAy95yt4bNHBPeTcQ4tiQLGiGNrmAxiZTojSkiHKSb3Dvn2klGTddSdL1OPj4/PT9SNpuHsrKRMMLKSQItyP+Ms+b+sO3vcEmXSWwnFXERBxJGAFhIyxTyNsNk+PMMmsUAydMu84ojQwxd4au5Wu70Mg1ae+DmwXsL4rITwQbAXjB5QEsxL8vu3wqLchU0+xMIoCRy2E/fWF6ActTToZrMCJ0Kr/wfgwhw8qL7ZXpfQDpAFa+UxxtUf1M0q2tgXok7V8A7PAnzNEol5B52HgwDYEJsojq3KKer2SFFBOgvOBg7mdMqj5fvbVFVUDK7S5p4tpHDv4Xt93JsY7qHdohf3Esr9xaNXsWgJG2Nqx+mFILLBFpU2Wv7iXVMhG2ZPPCykW1yuLSzHmEx7GWSsi0+DxuLDyVjwUo7HI4hGxMPhY34g+cZyEKnbPdDAF2wXGNMcaIDz1fV3vax8M2QKlBQuHTnFSZPH8BKumZk+mSTi0f3HxoGsGPzTl1Wc/w+b1GW7gsvhdLRx9JZgnSdibvirlyCL/btgYn88TKme9gV/PqXDtbRf7Mbij1R9TuhdHUgMAAA== From 5344e1c2368fcb56d869e6dbde15e7cb34317f5c Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 22 Sep 2016 14:28:21 +0000 Subject: [PATCH 18/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../ui/client/i18n/XLF/StringMessages_ja.properties.xlf | 2 +- .../ui/client/i18n/XLF/StringMessages_ru.properties.xlf | 2 +- .../client/i18n/XLF/StringMessages_zh_CN.properties.xlf | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf index 8796b6af0e7..e20ef9721b9 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    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 diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf index 7c856eff12c..5fba5bd924b 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    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 diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf index 86fc8856f0a..ea156245485 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    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 @@ -65,7 +65,7 @@ Welcome, {0}! - {0}欢迎使用! + {0}欢迎使用! Trying to verify user... @@ -161,7 +161,7 @@ {0}-Account - {0} 账户 + {0} 账户 Save @@ -349,7 +349,7 @@ Settings for {0} - {0}设置 + {0}设置 Please select From 8daf5b4ae214c181377660ce3b97ca75cb8ccb32 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 22 Sep 2016 14:28:31 +0000 Subject: [PATCH 19/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/TrackingStringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/TrackingStringMessages_ru.properties.xlf | 2 +- .../XLF/TrackingStringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf index fef565d3928..70450eaae85 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2RTU/DMAyG7/0VvnGZEGekHgYSUiVgY+3gnLXeajWNo9jbqBD/naQtbOLm+PXH+zgaTN2ROxTuRGqU2D1xyKs5C5c07DlkUhv3tnnkBlfhnYR0G2zFGzyQKIal5C+mQ5BjQBj4CK05IWiL8HX3DUvvgZyosRabW6hadJDmjQV7tpbPaeM0HjhAbanuRtWS6+AoSY5jA0hvgvqWXZzOEOb1YCQ7o625x4rzjymKBRmtyq1gkLzU2AfxmcxkxjWBqbmWllNqkm2c6SL7Ce0wwlYtyXO0khf7Ec9EzICmSb40atAbssATUYMnqhHOpO34TvjGpvLhcoYFCPXeDjPrDuMREpIkN/fZ7shDha7BkKcQdIwz432pHLCYxlT4qclSw+5GLzdPCwfUBXiLRvB36X1qL1jyuftyDu9n/D/p+hzJwDqSxm/2/tX0mJfLNZSROOE/JHuTnEnMFa6kQ6v/S2HOZz95rIJYdwIAAA== diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf index 511b6494eac..562725e090c 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2RTU/DMAyG7/0VvnGZEGekHgYSUiVgY+3gnLXeajWNo9jbqBD/naQtbOLm+PXH+zgaTN2ROxTuRGqU2D1xyKs5C5c07DlkUhv3tnnkBlfhnYR0G2zFGzyQKIal5C+mQ5BjQBj4CK05IWiL8HX3DUvvgZyosRabW6hadJDmjQV7tpbPaeM0HjhAbanuRtWS6+AoSY5jA0hvgvqWXZzOEOb1YCQ7o625x4rzjymKBRmtyq1gkLzU2AfxmcxkxjWBqbmWllNqkm2c6SL7Ce0wwlYtyXO0khf7Ec9EzICmSb40atAbssATUYMnqhHOpO34TvjGpvLhcoYFCPXeDjPrDuMREpIkN/fZ7shDha7BkKcQdIwz432pHLCYxlT4qclSw+5GLzdPCwfUBXiLRvB36X1qL1jyuftyDu9n/D/p+hzJwDqSxm/2/tX0mJfLNZSROOE/JHuTnEnMFa6kQ6v/S2HOZz95rIJYdwIAAA== diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf index c71dd189168..a406a0dc256 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2RTU/DMAyG7/0VvnGZEGekHgYSUiVgY+3gnLXeajWNo9jbqBD/naQtbOLm+PXH+zgaTN2ROxTuRGqU2D1xyKs5C5c07DlkUhv3tnnkBlfhnYR0G2zFGzyQKIal5C+mQ5BjQBj4CK05IWiL8HX3DUvvgZyosRabW6hadJDmjQV7tpbPaeM0HjhAbanuRtWS6+AoSY5jA0hvgvqWXZzOEOb1YCQ7o625x4rzjymKBRmtyq1gkLzU2AfxmcxkxjWBqbmWllNqkm2c6SL7Ce0wwlYtyXO0khf7Ec9EzICmSb40atAbssATUYMnqhHOpO34TvjGpvLhcoYFCPXeDjPrDuMREpIkN/fZ7shDha7BkKcQdIwz432pHLCYxlT4qclSw+5GLzdPCwfUBXiLRvB36X1qL1jyuftyDu9n/D/p+hzJwDqSxm/2/tX0mJfLNZSROOE/JHuTnEnMFa6kQ6v/S2HOZz95rIJYdwIAAA== From b68bb3d808116ffb213127a2c42cde329d6acf14 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 22 Sep 2016 14:28:39 +0000 Subject: [PATCH 20/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../controls/filestorage/XLF/StringMessages_ja.properties.xlf | 2 +- .../controls/filestorage/XLF/StringMessages_ru.properties.xlf | 2 +- .../filestorage/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf index 3d690268704..e84b234145a 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA== diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf index 98a30827145..2a3e31888dd 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA== diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf index 40a196b3379..4e6b1ef6dcd 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA== From e23e2e5b3613e35a7daa10dcf8d13a70b06df8d5 Mon Sep 17 00:00:00 2001 From: Alexander Ries Date: Thu, 22 Sep 2016 17:22:55 +0200 Subject: [PATCH 21/97] Put critical Have in string messages into capital letter --- .../SAPTracker/Base.lproj/Localizable.strings | Bin 12558 -> 12558 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings b/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings index 90c76e94cecaa4dd86adaf56d184450a55903e64..3b33b10765eb7adad2d8a80f9eb108f2002734ea 100644 GIT binary patch delta 14 VcmeB6>PyPy Date: Fri, 23 Sep 2016 09:24:38 +0000 Subject: [PATCH 22/97] Localization delivery: commit by Philipp Steger, and the user email is philipp.steger@sap.com. --- .../stringmessages/XLF/Sailing_StringMessages.properties.xlf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages.properties.xlf index 050adba55e8..20b04e032b6 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages.properties.xlf @@ -1,12 +1,12 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== - +
    From a84b822d69db5f9afcd47b7775185b40a3e26e10 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Fri, 23 Sep 2016 13:15:35 +0000 Subject: [PATCH 23/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/Polars_StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/Polars_StringMessages_ru.properties.xlf | 2 +- .../XLF/Polars_StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf index 53af2a594e6..ff0bf12c40f 100644 --- a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2PTQrCQAyF93OKXEH32TiiFBSGunAdOrEObTPQaaHHd/6s4Cbv4yW8JMaPNOs3OTmgSRyU2a0jnqgbWCzUVksdaz+uk+AP1Y37RixvGAEylYwzLVRCIWExw3fN1TwubsMoEFU9ndiWpGdMBBmz2QTt5eUsy4I7QR66M4V15ika8TQZMBVVb67b/j74ALSew+fwAAAA diff --git a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf index e6c9f46126c..503acb05fac 100644 --- a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2PTQrCQAyF93OKXEH32TiiFBSGunAdOrEObTPQaaHHd/6s4Cbv4yW8JMaPNOs3OTmgSRyU2a0jnqgbWCzUVksdaz+uk+AP1Y37RixvGAEylYwzLVRCIWExw3fN1TwubsMoEFU9ndiWpGdMBBmz2QTt5eUsy4I7QR66M4V15ika8TQZMBVVb67b/j74ALSew+fwAAAA diff --git a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf index 44955faf248..a950541e642 100644 --- a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2PTQrCQAyF93OKXEH32TiiFBSGunAdOrEObTPQaaHHd/6s4Cbv4yW8JMaPNOs3OTmgSRyU2a0jnqgbWCzUVksdaz+uk+AP1Y37RixvGAEylYwzLVRCIWExw3fN1TwubsMoEFU9ndiWpGdMBBmz2QTt5eUsy4I7QR66M4V15ika8TQZMBVVb67b/j74ALSew+fwAAAA From 8b34ffb3be33029465ee74637a3a8fa1b6a98015 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Fri, 23 Sep 2016 13:15:51 +0000 Subject: [PATCH 24/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf | 2 +- .../XLF/Sailing_StringMessages_zh_CN.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_ru.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf index e2e562cf073..8ed2d111c7f 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf index 1df6e3db61f..17ea41f10ae 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf index 5c6bd390142..475687b735f 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== diff --git a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf index 6d2722d24a1..99debd4f3e0 100644 --- a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAD2MQQoCMQxF9znFLHWnB8hicCXSjYMHKBpLsE2hTQdhmLsbpuoieT958MeZig+EYyc4erAX7ICpJbQB59+cLH8JjqXfnXDKTRS3bQ1KpWKCi2St+BKzMdJdWQL+Yha4Um1RJw7CT6aCy2Eddstx3cP/d5absG6GZTAHH6Y6WeOvAAAA diff --git a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf index 6b0e8aebd88..f7cbb646a22 100644 --- a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAD2MQQoCMQxF9znFLHWnB8hicCXSjYMHKBpLsE2hTQdhmLsbpuoieT958MeZig+EYyc4erAX7ICpJbQB59+cLH8JjqXfnXDKTRS3bQ1KpWKCi2St+BKzMdJdWQL+Yha4Um1RJw7CT6aCy2Eddstx3cP/d5absG6GZTAHH6Y6WeOvAAAA diff --git a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf index 2bc13508667..7bca09b45c8 100644 --- a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAD2MQQoCMQxF9znFLHWnB8hicCXSjYMHKBpLsE2hTQdhmLsbpuoieT958MeZig+EYyc4erAX7ICpJbQB59+cLH8JjqXfnXDKTRS3bQ1KpWKCi2St+BKzMdJdWQL+Yha4Um1RJw7CT6aCy2Eddstx3cP/d5absG6GZTAHH6Y6WeOvAAAA From a367d2069fa1216e1340ca80883b5c5f2270a516 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Fri, 23 Sep 2016 13:16:06 +0000 Subject: [PATCH 25/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_ru.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf index e971ff9eadc..20d56f87827 100644 --- a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAKVUTW/bMAy9+1cQ2CEbkAVpdwvgQ5YuWIChDZr2sKPs0A1XWTIk2VkQ5L+PkvNhtzZarBfbEh/f4yNlGZHiQt3jk3BO3GU/KlQuNrwJ+/EBSIGpQzDYXx0GoDNAD+Hl9WEQmZA9l4iun+Tz/tvhy5tUEsUaTaKFWZ8YGlsMGrdzmCJqJq02enuPtpTO/iL1/EBOYuw3WTbshmLtXYWmIty+xPgY6GMwQC+svOiAX0AeMFVC7iy90vZNEMdYFDHczaSw1qfMSZHd4HpVJn8wdbHfg0wb8ChIPSz0byMsZEcsfAWFZ0sgKkFSJBKjTzCewJn+VuQ4hKtJ0L9BmxoqHGnVXcB3vd7Ftw3ajiJ4fNxyEAYvoqOGoVWqDc60MeyEhU6emqyt3A6NPg+NIXdaeSH9ATepzgt05LRZMhJt3aCTl9k5GjgKD1kfJwOSFHpaUZ+NYOVC1zuPbsVg4V1y7KJV93+NIW0p9dbeM4de8c5BtLXePFaPBSeQevLH9WRmWv9VHWPdkpRgnTAOrObS3vdTDOF6Ao5y7JYNNuavxXzdDUFRFEb/pVw4lDtgJN9q7MSWyVloobhmBvBn/FuXwTX3CqliKVDaUUZpCHOvjM5hNV3Cirviw+GCcZTaETxocKVRfBtm7awhFDwki1CRJQc7XRooLRrg0jLiaXNZboP+9DxDglJvR5GPL+tw/Oixx0VEeWGIb+FF/Y74WYl0Fy/rd2SFLF1t5qeQUvumDKN/18D20lAGAAA= diff --git a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf index f75629276f1..96201c35a31 100644 --- a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAKVUTW/bMAy9+1cQ2CEbkAVpdwvgQ5YuWIChDZr2sKPs0A1XWTIk2VkQ5L+PkvNhtzZarBfbEh/f4yNlGZHiQt3jk3BO3GU/KlQuNrwJ+/EBSIGpQzDYXx0GoDNAD+Hl9WEQmZA9l4iun+Tz/tvhy5tUEsUaTaKFWZ8YGlsMGrdzmCJqJq02enuPtpTO/iL1/EBOYuw3WTbshmLtXYWmIty+xPgY6GMwQC+svOiAX0AeMFVC7iy90vZNEMdYFDHczaSw1qfMSZHd4HpVJn8wdbHfg0wb8ChIPSz0byMsZEcsfAWFZ0sgKkFSJBKjTzCewJn+VuQ4hKtJ0L9BmxoqHGnVXcB3vd7Ftw3ajiJ4fNxyEAYvoqOGoVWqDc60MeyEhU6emqyt3A6NPg+NIXdaeSH9ATepzgt05LRZMhJt3aCTl9k5GjgKD1kfJwOSFHpaUZ+NYOVC1zuPbsVg4V1y7KJV93+NIW0p9dbeM4de8c5BtLXePFaPBSeQevLH9WRmWv9VHWPdkpRgnTAOrObS3vdTDOF6Ao5y7JYNNuavxXzdDUFRFEb/pVw4lDtgJN9q7MSWyVloobhmBvBn/FuXwTX3CqliKVDaUUZpCHOvjM5hNV3Cirviw+GCcZTaETxocKVRfBtm7awhFDwki1CRJQc7XRooLRrg0jLiaXNZboP+9DxDglJvR5GPL+tw/Oixx0VEeWGIb+FF/Y74WYl0Fy/rd2SFLF1t5qeQUvumDKN/18D20lAGAAA= diff --git a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf index 1ee055d378a..73c7acc8d0b 100644 --- a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAKVUTW/bMAy9+1cQ2CEbkAVpdwvgQ5YuWIChDZr2sKPs0A1XWTIk2VkQ5L+PkvNhtzZarBfbEh/f4yNlGZHiQt3jk3BO3GU/KlQuNrwJ+/EBSIGpQzDYXx0GoDNAD+Hl9WEQmZA9l4iun+Tz/tvhy5tUEsUaTaKFWZ8YGlsMGrdzmCJqJq02enuPtpTO/iL1/EBOYuw3WTbshmLtXYWmIty+xPgY6GMwQC+svOiAX0AeMFVC7iy90vZNEMdYFDHczaSw1qfMSZHd4HpVJn8wdbHfg0wb8ChIPSz0byMsZEcsfAWFZ0sgKkFSJBKjTzCewJn+VuQ4hKtJ0L9BmxoqHGnVXcB3vd7Ftw3ajiJ4fNxyEAYvoqOGoVWqDc60MeyEhU6emqyt3A6NPg+NIXdaeSH9ATepzgt05LRZMhJt3aCTl9k5GjgKD1kfJwOSFHpaUZ+NYOVC1zuPbsVg4V1y7KJV93+NIW0p9dbeM4de8c5BtLXePFaPBSeQevLH9WRmWv9VHWPdkpRgnTAOrObS3vdTDOF6Ao5y7JYNNuavxXzdDUFRFEb/pVw4lDtgJN9q7MSWyVloobhmBvBn/FuXwTX3CqliKVDaUUZpCHOvjM5hNV3Cirviw+GCcZTaETxocKVRfBtm7awhFDwki1CRJQc7XRooLRrg0jLiaXNZboP+9DxDglJvR5GPL+tw/Oixx0VEeWGIb+FF/Y74WYl0Fy/rd2SFLF1t5qeQUvumDKN/18D20lAGAAA= From ab56ddc6f1137682b9a6456203db18d369ae6557 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Fri, 23 Sep 2016 13:16:48 +0000 Subject: [PATCH 26/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../client/StringMessages_ja.properties.xlf | 81 +++++++------------ .../client/StringMessages_ru.properties.xlf | 42 ++++------ .../StringMessages_zh_CN.properties.xlf | 54 +++++-------- .../ui/client/StringMessages_ja.properties | 79 ++++++------------ .../ui/client/StringMessages_ru.properties | 40 +++------ .../ui/client/StringMessages_zh_CN.properties | 52 ++++-------- 6 files changed, 115 insertions(+), 233 deletions(-) diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf index 58c4e7aa53f..0462ffdd176 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    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 @@ -165,8 +165,7 @@ {0}/{1} competitors selected. - - {0}/{1} の競技者が選択されました。 + {0}/{1} の競技者が選択されました。 No such leaderboard @@ -938,8 +937,7 @@ Settings for {0} - - {0} の設定 + {0} の設定 No events were found @@ -1003,13 +1001,11 @@ {0} passed {1} at {2} - - {0} が {2} に {1} を通過 + {0} が {2} に {1} を通過 {0} at {1}: {2} - - {1} での {0}: {2} + {1} での {0}: {2} Do you really want to remove the race ''{0}''? Note: all race logs for this race will also permanently be removed! @@ -1105,8 +1101,7 @@ No leaderboard group with the name {0} found - - {0} という名称のリーダーボードグループは見つかりませんでした + {0} という名称のリーダーボードグループは見つかりませんでした Overview @@ -2214,8 +2209,7 @@ passed to {0} - - {0} に受け渡し済 + {0} に受け渡し済 Gap Change @@ -3535,8 +3529,7 @@ Worked through {0} data entries in {1} seconds - - {0} データエントリを {1} 秒で処理済 + {0} データエントリを {1} 秒で処理済 No query selected @@ -3568,8 +3561,7 @@ Imported wind from: {0} to: {1}. {2} races affected. - - {0} から {1} に風をインポートしました。{2} レースが影響を受けます。 + {0} から {1} に風をインポートしました。{2} レースが影響を受けます。 Race: {0} ({1}) - {2} fixes from: {3} to: {4} @@ -3853,8 +3845,7 @@ Sets the class flag used for {0}. Choose ''Don''t Overwrite'' to activate the procedure''s default flag. - - {0} に使用するクラス旗を選定します。手順にある初期値の旗を有効化するには、''上書きしない'' を選択してください。 + {0} に使用するクラス旗を選定します。手順にある初期値の旗を有効化するには、''上書きしない'' を選択してください。 When activated the Race Officer is able to call for individual recall. @@ -4142,23 +4133,19 @@ Edit {0} - - {0} を編集 + {0} を編集 Add {0} - - {0} を追加 + {0} を追加 Remove {0} - - {0} を削除 + {0} を削除 Please enter a {0} - - {0} を入力してください + {0} を入力してください Ping {0} position @@ -4166,8 +4153,7 @@ Please enter a valid value for {0} ({1}) - - {0} の有効な値を入力してください ({1}) + {0} の有効な値を入力してください ({1}) Copy course and competitors to other races @@ -4375,14 +4361,12 @@ {0} in {1} on {2} - - {1} の {0} を {2} で + {1} の {0} を {2} で String eventSharingShortText(String eventName, String venue, String dateString); I''d like to share {0} in {1} on {2}. Details on: \n{3} - - {1} の {0} を {2} でシェアします。詳細: \n{3} + {1} の {0} を {2} でシェアします。詳細: \n{3} String eventSharingLongText(String eventName, String venue, String dateString, String url); @@ -4392,9 +4376,7 @@ {0} - - {0} - + {0} String seriesSharingShortText(String seriesName); @@ -4647,8 +4629,7 @@ {0} Videos - - {0} 動画 + {0} 動画 Click to select video @@ -5320,8 +5301,7 @@ {0} starts in - - {0} がスタート: + {0} がスタート: Planned @@ -5353,8 +5333,7 @@ {0} won race - - {0} がレースに勝利 + {0} がレースに勝利 Time on Time Factor @@ -5478,8 +5457,7 @@ Collapse {0} - - {0} を圧縮 + {0} を圧縮 GPS fixes @@ -5527,13 +5505,11 @@ {0} min ago - - {0} 分前 + {0} 分前 {0} h ago - - {0} 時間前 + {0} 時間前 Winner @@ -5621,8 +5597,7 @@ Can''t display data of type {0} - - {0} タイプのデータは表示できません。 + {0} タイプのデータは表示できません。 Shown Decimals @@ -5658,8 +5633,7 @@ {0} events have taken place - - {0} イベントが行われました + {0} イベントが行われました One event has taken place @@ -5839,8 +5813,7 @@ The size of the {0} image does not fit. The width should be between {1} and {2} px and the height between {3} and {4} px. - - {0} 画像のサイズが適合しません。幅は {1} と {2} px の間、高さは {3} と {4} px の間である必要があります。 + {0} 画像のサイズが適合しません。幅は {1} と {2} px の間、高さは {3} と {4} px の間である必要があります。 The width and height of the image could not be retrieved yet. diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf index 167db47f118..63b015efd3a 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    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 @@ -937,8 +937,7 @@ Settings for {0} - - {0} — параметры + {0} — параметры No events were found @@ -1002,13 +1001,11 @@ {0} passed {1} at {2} - - {0} пройдено {1} в {2} + {0} пройдено {1} в {2} {0} at {1}: {2} - - {0} в {1}: {2} + {0} в {1}: {2} Do you really want to remove the race ''{0}''? Note: all race logs for this race will also permanently be removed! @@ -2164,8 +2161,7 @@ {0} after race {1} - - {0} после гонки {1} + {0} после гонки {1} Ranking @@ -4029,13 +4025,11 @@ {0} to start - - {0} до старта + {0} до старта {0} since start - - {0} от старта + {0} от старта Distance to start line @@ -4367,8 +4361,7 @@ {0} in {1} on {2} - - {0} в {1} на {2} + {0} в {1} на {2} String eventSharingShortText(String eventName, String venue, String dateString); @@ -4383,9 +4376,7 @@ {0} - - {0} - + {0} String seriesSharingShortText(String seriesName); @@ -4638,8 +4629,7 @@ {0} Videos - - {0} видео + {0} видео Click to select video @@ -5311,8 +5301,7 @@ {0} starts in - - {0} начинается через + {0} начинается через Planned @@ -5516,13 +5505,11 @@ {0} min ago - - {0} мин. назад + {0} мин. назад {0} h ago - - {0} ч. назад + {0} ч. назад Winner @@ -5558,8 +5545,7 @@ {0}° to wind - - {0}° к ветру + {0}° к ветру Shows the points along with the number of races per competitor diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf index ba1617e9a56..727304437e4 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    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 @@ -937,8 +937,7 @@ Settings for {0} - - {0}设置 + {0}设置 No events were found @@ -1002,13 +1001,11 @@ {0} passed {1} at {2} - - {0}于{2}越过{1} + {0}于{2}越过{1} {0} at {1}: {2} - - {0}(于{1}): {2} + {0}(于{1}): {2} Do you really want to remove the race ''{0}''? Note: all race logs for this race will also permanently be removed! @@ -2164,8 +2161,7 @@ {0} after race {1} - - {0} 比赛轮次后 {1} + {0} 比赛轮次后 {1} Ranking @@ -3533,8 +3529,7 @@ Worked through {0} data entries in {1} seconds - - {1}秒内处理{0}个数据条目 + {1}秒内处理{0}个数据条目 No query selected @@ -4030,13 +4025,11 @@ {0} to start - - {0} - 开始 + {0} - 开始 {0} since start - - {0} - 开始后 + {0} - 开始后 Distance to start line @@ -4368,8 +4361,7 @@ {0} in {1} on {2} - - {2} + {2} {1}中的{0} String eventSharingShortText(String eventName, String venue, String dateString); @@ -4385,9 +4377,7 @@ {0} - - {0} - + {0} String seriesSharingShortText(String seriesName); @@ -4640,8 +4630,7 @@ {0} Videos - - {0}个视频 + {0}个视频 Click to select video @@ -5313,8 +5302,7 @@ {0} starts in - - {0}开始于 + {0}开始于 Planned @@ -5346,8 +5334,7 @@ {0} won race - - {0}赢得比赛轮次 + {0}赢得比赛轮次 Time on Time Factor @@ -5519,13 +5506,11 @@ {0} min ago - - {0}分钟前 + {0}分钟前 {0} h ago - - {0}小时前 + {0}小时前 Winner @@ -5561,8 +5546,7 @@ {0}° to wind - - {0}°(相对于风) + {0}°(相对于风) Shows the points along with the number of races per competitor @@ -5650,8 +5634,7 @@ {0} events have taken place - - {0}个活动已举行 + {0}个活动已举行 One event has taken place @@ -5831,8 +5814,7 @@ The size of the {0} image does not fit. The width should be between {1} and {2} px and the height between {3} and {4} px. - - {0}的图像大小不合适。 宽度应在{1}和{2} px 之间,高度在{3}和{4} px 之间。 + {0}的图像大小不合适。 宽度应在{1}和{2} px 之间,高度在{3}和{4} px 之间。 The width and height of the image could not be retrieved yet. 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 3d6f5b55e5d..6367aff25a1 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 @@ -36,8 +36,7 @@ total=Σ carry=累積 competitor=競技者 competitors=競技者 -competitorsSelected= - {0}/{1} の競技者が選択されました。 +competitorsSelected={0}/{1} の競技者が選択されました。 noSuchLeaderboard=そのようなリーダーボードはありません leaderboardConfiguration=リーダーボード設定 newDotDotDot=新規... @@ -230,8 +229,7 @@ hoverOverAPoint=詳細についてはポイントをホバー noSelection=未選択 raceIsKnownToStartUpwind=アップウィンドレグでレーススタート events=イベント -settingsForComponent= - {0} の設定 +settingsForComponent={0} の設定 noEventsFound=イベントが見つかりませんでした noEventSelected=イベントが選択されていません noLeaderboardsFound=リーダーボードが見つかりませんでした @@ -247,10 +245,8 @@ endDate=終了日付 unknownManeuver=不明のマニューバー tailLengthMustBePositive=テール長はゼロより大きい数でなければなりません。 failedToLoadRaceInformation=レース情報のロードに失敗: {0} -competitorPassedMarkAtDate= - {0} が {2} に {1} を通過 -valueForCompetitorAt= - {1} での {0}: {2} +competitorPassedMarkAtDate={0} が {2} に {1} を通過 +valueForCompetitorAt={1} での {0}: {2} reallyRemoveRace=レース ''{0}'' を削除しますか。注記: このレースのレースログもすべて永続的に削除されます。 showDetails=詳細表示 hideLeaderboard=リーダーボード非表示 @@ -274,8 +270,7 @@ detailsOfLeaderboardGroup=リーダーボードグループの詳細 edit=編集 save=保存 abort=中止 -noLeaderboardGroupWithNameFound= - {0} という名称のリーダーボードグループは見つかりませんでした +noLeaderboardGroupWithNameFound={0} という名称のリーダーボードグループは見つかりませんでした overview=概要 welcomeToSailingAnalytics=SAP Sailing Analytics へようこそ welcomeToSailingAnalyticsBody=SAP は、水上で行われている動きをセーリングファンにとってかつてないほど身近なものにします。\nこの実況リーダーボードでランキング、艇速、艇差をリアルタイムに把握してファンとしての体験を充実したものにできます。SAP を使ってすべてのレースを追いかければ、追い抜きのマニューバーを見逃すことはありません。\nこれこそ、セーリング競技を生で簡単に視聴する方法なのです。 @@ -552,8 +547,7 @@ finished=フィニッシュ済 upcoming=予定 next=次 inProgress=進行中 -passedTo= - {0} に受け渡し済 +passedTo={0} に受け渡し済 gapChangeSinceLegStartInSeconds=距離差の変化 gapChangeSinceLegStartInSecondsTooltip=最後のレグがスタートしてからの首位艇との距離差の変化です。\nマイナスの数字は距離差が減少したことを意味します。\nプラスの数字は距離差が増加したことを意味します。 sideToWhichMarkAtLegStartWasRounded=マーク回航 @@ -883,8 +877,7 @@ cleanedOverallTime=全体時間のクリア dataMiningResult=データマイニング結果 groupBy=グループキー statisticToCalculate=統計の計算 -queryResultsChartSubtitle= - {0} データエントリを {1} 秒で処理済 +queryResultsChartSubtitle={0} データエントリを {1} 秒で処理済 noQuerySelected=クエリ未選択 runAutomatically=自動的に実行 windImport_Upload=アップロード @@ -892,8 +885,7 @@ windImport_Title=Expedition から風をインポート windImport_BoatId=艇 ID: windImport_SelectedRacesWarning=選択した {0} レースに風をインポートしますか。\n影響を受けるのは適用可能な時間ウィンドウにあるレースのみです。 windImport_AllRacesWarning=すべてのレースに風をインポートしますか。\n影響を受けるのは適用可能な時間ウィンドウにあるレースのみです。 -windImport_ResultHeader= - {0} から {1} に風をインポートしました。{2} レースが影響を受けます。 +windImport_ResultHeader={0} から {1} に風をインポートしました。{2} レースが影響を受けます。 windImport_ResultEntry=レース: {0} ({1}) - {2} フィックス 開始: {3} 終了: {4} windImport_ResultError=エラー: {0} showWindSpeedSeriesTooltip=すべてのデータソースに対する風速の表示を切替 @@ -964,8 +956,7 @@ activateResultEntry=結果エントリ有効化 rrs26Start=RRS26 開始 setConfiguration=設定有効化 classFlag=クラス旗 -classFlagHelpText= - {0} に使用するクラス旗を選定します。手順にある初期値の旗を有効化するには、''上書きしない'' を選択してください。 +classFlagHelpText={0} に使用するクラス旗を選定します。手順にある初期値の旗を有効化するには、''上書きしない'' を選択してください。 individualRecallHelpText=有効化されると、レースオフィサーが個別リコールをコールすることができます。 resultEntryHelpText=有効化されると、レースオフィサーがフィニッシュフェーズ中およびその後に結果を入力することができます。 startmodeFlags=スタート前の信号旗 @@ -1037,17 +1028,12 @@ courseStatus=コースステータス canOnlyBeEditedBeforeStartingTracking=追跡開始前にのみ編集可能 defineCourse=コースレイアウト定義 mapDevices=デバイスを競技者およびマークにマッピング -edit_what= - {0} を編集 -add_what= - {0} を追加 -remove_what= - {0} を削除 -pleaseEnterA= - {0} を入力してください +edit_what={0} を編集 +add_what={0} を追加 +remove_what={0} を削除 +pleaseEnterA={0} を入力してください pingPosition=ping {0} 位置 -pleaseEnterAValidValueFor= - {0} の有効な値を入力してください ({1}) +pleaseEnterAValidValueFor={0} の有効な値を入力してください ({1}) copyCourseAndCompetitors=コースと競技者を他のレースにコピー setTrackingTimes=追跡時間の設定 nowSelectRaceColumnAndFleetToCopyTo=ここで、コースのコピー先のレース列およびフリートを選択してください。 @@ -1100,17 +1086,13 @@ sharingMailTooltip=メールによるシェア sharingTwitterTooltip=Twitter でシェア sharingFacebookTooltip=Facebook でシェア #String eventSharingShortText(String eventName, String venue, String dateString); -eventSharingShortText= - {1} の {0} を {2} で +eventSharingShortText={1} の {0} を {2} で #String eventSharingLongText(String eventName, String venue, String dateString, String url); -eventSharingLongText= - {1} の {0} を {2} でシェアします。詳細: \n{3} +eventSharingLongText={1} の {0} を {2} でシェアします。詳細: \n{3} #String seriesSharingLongText(String seriesName, String url); seriesSharingLongText=シリーズ {0} をシェアします。詳細: {1} #String seriesSharingShortText(String seriesName); -seriesSharingShortText= - {0} - +seriesSharingShortText={0} competitorsAnalytics=競技者分析 mediaNoContent=写真または動画がまだ利用可能でありません。 media=メディア @@ -1173,8 +1155,7 @@ mediaShowVideoCaption=動画表示 mediaShowVideoTooltip=クリックして動画を表示: {0} mediaHideVideoCaption=動画非表示 mediaHideVideoTooltip=クリックして動画を非表示 -mediaSelectVideoCaption= - {0} 動画 +mediaSelectVideoCaption={0} 動画 mediaSelectVideoTooltip=クリックして動画を選択 mediaManageMediaCaption=メディア管理 mediaManageMediaTooltip=音声および動画クリックを設定して、時間を同期 @@ -1342,8 +1323,7 @@ followSapSports=SAP Sports をフォロー liveNow=ライブ中 analyseRace=レースを分析 nextRaceStartingIn=次のレースのスタート: -startingIn= - {0} がスタート: +startingIn={0} がスタート: raceIsPlanned=計画済 raceIsCanceled=中止 raceIsPostponed=延期 @@ -1351,8 +1331,7 @@ startingInMinutes=スタートまで {0,number} 分 startingInMinutes[none]=スタートします latestNews=最新ニュース resultsUpdate=結果更新 -competitorWonRace= - {0} がレースに勝利 +competitorWonRace={0} がレースに勝利 showCompetitorTimeOnTimeFactorColumn=Time on Time 係数 showCompetitorTimeOnDistanceAllowanceColumn=Time on Distance 修正時間 rankingMetric=ランキング @@ -1383,8 +1362,7 @@ notAvailableOnMobileMessage=この内容はモバイルでは利用できませ gotoDesktop=デスクトップバージョンにジャンプ goBack=戻る showAllX=全 {0} を表示 -collapseX= - {0} を圧縮 +collapseX={0} を圧縮 numberOfGPSFixes=GPS フィックス fastestSailor=最速 @@ -1397,10 +1375,8 @@ noNews=利用可能なニュースがありません。 pointsValue={0,number,#0.00} openLeaderboard=リーダーボードを開く now=現在 -minutesAgo= - {0} 分前 -hoursAgo= - {0} 時間前 +minutesAgo={0} 分前 +hoursAgo={0} 時間前 winner=勝者 durationPlain=期間 finishedRaces=フィニッシュしたレース @@ -1422,8 +1398,7 @@ latestRegattaStandings=レガッタ最新順位表 plainText=プレーンテキスト columnChart=縦棒グラフ choosePresentation=プレゼンテーション選択 -cantDisplayDataOfType= - {0} タイプのデータは表示できません。 +cantDisplayDataOfType={0} タイプのデータは表示できません。 shownDecimals=小数点表示 openFullscreenView=全画面ビューを開く closeFullscreenView=全画面ビューを閉じる @@ -1432,8 +1407,7 @@ videosCount={0,number} 動画 videosCount[one]={0,number} 動画 photosCount={0,number} 写真 photosCount[one]={0,number} 写真 -eventsHaveTakenPlace= - {0} イベントが行われました +eventsHaveTakenPlace={0} イベントが行われました eventsHaveTakenPlace[one]=1 つのイベントが行われました raceOffice=レース事務所 analyze=分析 @@ -1478,8 +1452,7 @@ addStageImage=ステージ画像追加 addTeaserImage=ティーザー画像追加 addEventLogo=イベントロゴ追加 noImagesDefinedYet=画像未定義 -imageSizeError= - {0} 画像のサイズが適合しません。幅は {1} と {2} px の間、高さは {3} と {4} px の間である必要があります。 +imageSizeError={0} 画像のサイズが適合しません。幅は {1} と {2} px の間、高さは {3} と {4} px の間である必要があります。 couldNotRetrieveImageSizeYet=画像の幅と高さをまだ取得することができません。 pleaseOnlyUploadContentYouHaveAllUsageRightsFor=すべての使用権を持っているコンテンツのみをアップロードしてください。コンテンツは途中から切れてしまう場合があることを忘れないでください。 registerCompetitorsOnRace=レースへの競技者の登録 (例: フリート分割レースに対して) 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 a30ff0fdfff..fad3e331e16 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 @@ -229,8 +229,7 @@ hoverOverAPoint=Наведите указатель для просмотра п noSelection=Ничего не выбрано raceIsKnownToStartUpwind=Гонка начинается против ветра events=События -settingsForComponent= - {0} — параметры +settingsForComponent={0} — параметры noEventsFound=События не найдены noEventSelected=Не выбрано событие noLeaderboardsFound=Таблицы лидеров не найдены @@ -246,10 +245,8 @@ endDate=Дата окончания unknownManeuver=Неизвестный маневр tailLengthMustBePositive=длина хвоста должна быть задана числом больше нуля. failedToLoadRaceInformation=Не удалось загрузить сведения о гонке: {0} -competitorPassedMarkAtDate= - {0} пройдено {1} в {2} -valueForCompetitorAt= - {0} в {1}: {2} +competitorPassedMarkAtDate={0} пройдено {1} в {2} +valueForCompetitorAt={0} в {1}: {2} reallyRemoveRace=Действительно удалить гонку ''{0}''? Примечание: все журналы для этой гонки также будут окончательно удалены! showDetails=Показать подробности hideLeaderboard=Скрыть таблицу лидеров @@ -538,8 +535,7 @@ live=активно swissTimingArchiveConnector=Архив событий SwissTiming errorFetchingChartData=Ошибка при извлечении данных диаграммы: {0} loadingCompetitorData=Загрузка данных участника... -competitorRegattaDataAfterRaceN= - {0} после гонки {1} +competitorRegattaDataAfterRaceN={0} после гонки {1} rankChart=Ранг netPoints=Чистый балл raceNetPointsTooltip=Чистый балл участника в данной гонке @@ -1005,10 +1001,8 @@ seeIgtimiTabForAccountSettings=Параметры учетной записи, importWindFromIgtimi=Импортировать ветер из Igtimi errorImportingIgtimiWind=Ошибка при импорте данных о ветре из Igtimi: {0} resultFromIgtimiWindImport=Для перечисленных гонок импортировано следующее число замеров: {0} -timeToStart= - {0} до старта -timeSinceStart= - {0} от старта +timeToStart={0} до старта +timeSinceStart={0} от старта distanceToLine=Дистанция до линии старта beatAngleTooltip=Угол между направлением участников и ветром beatAngle=Угол удара @@ -1092,16 +1086,13 @@ sharingMailTooltip=Поделиться по почте sharingTwitterTooltip=Поделиться в Twitter sharingFacebookTooltip=Поделиться в Facebook #String eventSharingShortText(String eventName, String venue, String dateString); -eventSharingShortText= - {0} в {1} на {2} +eventSharingShortText={0} в {1} на {2} #String eventSharingLongText(String eventName, String venue, String dateString, String url); eventSharingLongText=Хочу поделиться {0} в {1} на {2}. Подробно: \n{3} #String seriesSharingLongText(String seriesName, String url); seriesSharingLongText=Хочу поделиться серией {0}. Подробно: \n{1} #String seriesSharingShortText(String seriesName); -seriesSharingShortText= - {0} - +seriesSharingShortText={0} competitorsAnalytics=Анализ участников mediaNoContent=Фото или видео пока недоступны. media=Мультимедиа @@ -1164,8 +1155,7 @@ mediaShowVideoCaption=Показать видео mediaShowVideoTooltip=Щелкните, чтобы показать видео: {0} mediaHideVideoCaption=Скрыть видео mediaHideVideoTooltip=Щелкните, чтобы скрыть видео -mediaSelectVideoCaption= - {0} видео +mediaSelectVideoCaption={0} видео mediaSelectVideoTooltip=Щелкните, чтобы выбрать видео mediaManageMediaCaption=Управление мультимедиа mediaManageMediaTooltip=Настройка аудио- и видеоклипов, синхронизация времени @@ -1333,8 +1323,7 @@ followSapSports=Отслеживать SAP Sports liveNow=Оперативные данные analyseRace=Анализировать гонку nextRaceStartingIn=Следующая гонка начинается через -startingIn= - {0} начинается через +startingIn={0} начинается через raceIsPlanned=Запланировано raceIsCanceled=Отменено raceIsPostponed=Отложено @@ -1386,10 +1375,8 @@ noNews=Новости пока недоступны. pointsValue={0,number,#0.00} openLeaderboard=Открыть таблицу лидеров now=Сейчас -minutesAgo= - {0} мин. назад -hoursAgo= - {0} ч. назад +minutesAgo={0} мин. назад +hoursAgo={0} ч. назад winner=Победитель durationPlain=Продолжительность finishedRaces=Завершенные гонки @@ -1398,8 +1385,7 @@ all=Все points=Баллы numberOfRacesShort=Гонки courseGeometry=Геометрия курса -degreesToWind= - {0}° к ветру +degreesToWind={0}° к ветру miniLeeaderboardLegendText=Показывает баллы и число гонок каждого участника currentOfTotal={0,number}/{1,number} noFinishedRaces=Завершенных гонок еще нет diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties index 207e6d7af32..8da04f04e70 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties @@ -229,8 +229,7 @@ hoverOverAPoint=将鼠标移到得分,查看详情 noSelection=无选择 raceIsKnownToStartUpwind=比赛轮次从迎风航段开始 events=活动 -settingsForComponent= - {0}设置 +settingsForComponent={0}设置 noEventsFound=未找到活动 noEventSelected=未选择活动 noLeaderboardsFound=未找到积分榜 @@ -246,10 +245,8 @@ endDate=结束日期 unknownManeuver=未知操作 tailLengthMustBePositive=尾流线长度必须是大于零的数字。 failedToLoadRaceInformation=加载比赛轮次信息失败: {0} -competitorPassedMarkAtDate= - {0}于{2}越过{1} -valueForCompetitorAt= - {0}(于{1}): {2} +competitorPassedMarkAtDate={0}于{2}越过{1} +valueForCompetitorAt={0}(于{1}): {2} reallyRemoveRace=是否确定移除比赛轮次 "{0}"? 注意: 此比赛轮次的所有比赛轮次日志也将永久移除! showDetails=显示详情 hideLeaderboard=隐藏积分榜 @@ -538,8 +535,7 @@ live=实况 swissTimingArchiveConnector=SwissTiming 归档的活动 errorFetchingChartData=获取记录数据出错: {0} loadingCompetitorData=正在加载参赛队数据... -competitorRegattaDataAfterRaceN= - {0} 比赛轮次后 {1} +competitorRegattaDataAfterRaceN={0} 比赛轮次后 {1} rankChart=排名 netPoints=净分 raceNetPointsTooltip=参赛队在本轮次比赛中的净分 @@ -881,8 +877,7 @@ cleanedOverallTime=清理总时间 dataMiningResult=数据挖掘结果 groupBy=分组方式 statisticToCalculate=计算统计 -queryResultsChartSubtitle= - {1}秒内处理{0}个数据条目 +queryResultsChartSubtitle={1}秒内处理{0}个数据条目 noQuerySelected=没有查询选择 runAutomatically=自动运行 windImport_Upload=上传 @@ -1006,10 +1001,8 @@ seeIgtimiTabForAccountSettings=请查看 "Igtimi" 选项卡了解账户设置, importWindFromIgtimi=从 Igtimi 导入风力数据 errorImportingIgtimiWind=从 Igtimi 导入风力数据出错: {0} resultFromIgtimiWindImport=已为所列的比赛轮次导入以下修复: {0} -timeToStart= - {0} - 开始 -timeSinceStart= - {0} - 开始后 +timeToStart={0} - 开始 +timeSinceStart={0} - 开始后 distanceToLine=与起航线的距离 beatAngleTooltip=赛队航行的方向和风的夹角 beatAngle=迎风航行角度 @@ -1093,17 +1086,14 @@ sharingMailTooltip=通过邮件分享 sharingTwitterTooltip=在 Twitter 上分享 sharingFacebookTooltip=在 Facebook 上分享 #String eventSharingShortText(String eventName, String venue, String dateString); -eventSharingShortText= - {2} +eventSharingShortText={2} {1}中的{0} #String eventSharingLongText(String eventName, String venue, String dateString, String url); eventSharingLongText=我要在{2}分享{0}中的{1}。 详情: \n{3} #String seriesSharingLongText(String seriesName, String url); seriesSharingLongText=我要分享系列赛{0}。 详情: {1} #String seriesSharingShortText(String seriesName); -seriesSharingShortText= - {0} - +seriesSharingShortText={0} competitorsAnalytics=参赛队分析 mediaNoContent=没有可用的照片或视频。 media=媒体 @@ -1166,8 +1156,7 @@ mediaShowVideoCaption=显示视频 mediaShowVideoTooltip=点击显示视频: {0} mediaHideVideoCaption=隐藏视频 mediaHideVideoTooltip=点击隐藏视频 -mediaSelectVideoCaption= - {0}个视频 +mediaSelectVideoCaption={0}个视频 mediaSelectVideoTooltip=点击选择视频 mediaManageMediaCaption=管理媒体 mediaManageMediaTooltip=配置音频和视频短片,同步时间 @@ -1335,8 +1324,7 @@ followSapSports=关注 SAP Sports liveNow=现在直播 analyseRace=分析比赛轮次 nextRaceStartingIn=下一个比赛轮次开始于 -startingIn= - {0}开始于 +startingIn={0}开始于 raceIsPlanned=已计划 raceIsCanceled=已放弃 raceIsPostponed=已延迟 @@ -1344,8 +1332,7 @@ startingInMinutes={0,number} 分钟后开始 startingInMinutes[none]=现在开始 latestNews=最新消息 resultsUpdate=结果更新 -competitorWonRace= - {0}赢得比赛轮次 +competitorWonRace={0}赢得比赛轮次 showCompetitorTimeOnTimeFactorColumn=时间对时间系数 showCompetitorTimeOnDistanceAllowanceColumn=时间对距离宽限 rankingMetric=排名 @@ -1389,10 +1376,8 @@ noNews=没有可用的消息。 pointsValue={0,number,#0.00} openLeaderboard=打开积分榜 now=现在 -minutesAgo= - {0}分钟前 -hoursAgo= - {0}小时前 +minutesAgo={0}分钟前 +hoursAgo={0}小时前 winner=获胜者 durationPlain=持续时间 finishedRaces=结束的比赛轮次 @@ -1401,8 +1386,7 @@ all=全部 points=分数 numberOfRacesShort=比赛轮次数 courseGeometry=场地几何结构 -degreesToWind= - {0}°(相对于风) +degreesToWind={0}°(相对于风) miniLeeaderboardLegendText=显示分数以及各参赛队的比赛轮次数 currentOfTotal={0,number}/{1,number} noFinishedRaces=没有结束的比赛轮次 @@ -1424,8 +1408,7 @@ videosCount={0,number} 个视频 videosCount[one]={0,number} 个视频 photosCount={0,number} 张照片 photosCount[one]={0,number} 张照片 -eventsHaveTakenPlace= - {0}个活动已举行 +eventsHaveTakenPlace={0}个活动已举行 eventsHaveTakenPlace[one]=已举行一场活动 raceOffice=竞赛办公室 analyze=分析 @@ -1470,8 +1453,7 @@ addStageImage=添加阶段图像 addTeaserImage=添加预告片图像 addEventLogo=添加活动图标 noImagesDefinedYet=尚未定义图像 -imageSizeError= - {0}的图像大小不合适。 宽度应在{1}和{2} px 之间,高度在{3}和{4} px 之间。 +imageSizeError={0}的图像大小不合适。 宽度应在{1}和{2} px 之间,高度在{3}和{4} px 之间。 couldNotRetrieveImageSizeYet=无法检索图像的宽度和高度。 pleaseOnlyUploadContentYouHaveAllUsageRightsFor=请仅上传具有所有使用权的内容。请记住,内容可能会被截断。 registerCompetitorsOnRace=在比赛轮次注册参赛队(例如区分船队比赛) From 9cfac8038bbfed4c6350e4d1dd6dd32617870032 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Fri, 23 Sep 2016 13:16:57 +0000 Subject: [PATCH 27/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../XLF/FileStorageStringMessages_ja.properties.xlf | 2 +- .../XLF/FileStorageStringMessages_ru.properties.xlf | 2 +- .../XLF/FileStorageStringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf index ce08ded6989..9d1e3322ecc 100644 --- a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf +++ b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAJ1SwW7bMAy95yt4bNHBPeTcQ4tiQLGiGNrmAxiZTojSkiHKSb3Dvn2klGTddSdL1OPj4/PT9SNpuHsrKRMMLKSQItyP+Ms+b+sO3vcEmXSWwnFXERBxJGAFhIyxTyNsNk+PMMmsUAydMu84ojQwxd4au5Wu70Mg1ae+DmwXsL4rITwQbAXjB5QEsxL8vu3wqLchU0+xMIoCRy2E/fWF6ActTToZrMCJ0Kr/wfgwhw8qL7ZXpfQDpAFa+UxxtUf1M0q2tgXok7V8A7PAnzNEol5B52HgwDYEJsojq3KKer2SFFBOgvOBg7mdMqj5fvbVFVUDK7S5p4tpHDv4Xt93JsY7qHdohf3Esr9xaNXsWgJG2Nqx+mFILLBFpU2Wv7iXVMhG2ZPPCykW1yuLSzHmEx7GWSsi0+DxuLDyVjwUo7HI4hGxMPhY34g+cZyEKnbPdDAF2wXGNMcaIDz1fV3vax8M2QKlBQuHTnFSZPH8BKumZk+mSTi0f3HxoGsGPzTl1Wc/w+b1GW7gsvhdLRx9JZgnSdibvirlyCL/btgYn88TKme9gV/PqXDtbRf7Mbij1R9TuhdHUgMAAA== diff --git a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf index e7755682f45..7aa5d529fbf 100644 --- a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf +++ b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAJ1SwW7bMAy95yt4bNHBPeTcQ4tiQLGiGNrmAxiZTojSkiHKSb3Dvn2klGTddSdL1OPj4/PT9SNpuHsrKRMMLKSQItyP+Ms+b+sO3vcEmXSWwnFXERBxJGAFhIyxTyNsNk+PMMmsUAydMu84ojQwxd4au5Wu70Mg1ae+DmwXsL4rITwQbAXjB5QEsxL8vu3wqLchU0+xMIoCRy2E/fWF6ActTToZrMCJ0Kr/wfgwhw8qL7ZXpfQDpAFa+UxxtUf1M0q2tgXok7V8A7PAnzNEol5B52HgwDYEJsojq3KKer2SFFBOgvOBg7mdMqj5fvbVFVUDK7S5p4tpHDv4Xt93JsY7qHdohf3Esr9xaNXsWgJG2Nqx+mFILLBFpU2Wv7iXVMhG2ZPPCykW1yuLSzHmEx7GWSsi0+DxuLDyVjwUo7HI4hGxMPhY34g+cZyEKnbPdDAF2wXGNMcaIDz1fV3vax8M2QKlBQuHTnFSZPH8BKumZk+mSTi0f3HxoGsGPzTl1Wc/w+b1GW7gsvhdLRx9JZgnSdibvirlyCL/btgYn88TKme9gV/PqXDtbRf7Mbij1R9TuhdHUgMAAA== diff --git a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf index ea01bca5c5e..4fcc11ba3a1 100644 --- a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAJ1SwW7bMAy95yt4bNHBPeTcQ4tiQLGiGNrmAxiZTojSkiHKSb3Dvn2klGTddSdL1OPj4/PT9SNpuHsrKRMMLKSQItyP+Ms+b+sO3vcEmXSWwnFXERBxJGAFhIyxTyNsNk+PMMmsUAydMu84ojQwxd4au5Wu70Mg1ae+DmwXsL4rITwQbAXjB5QEsxL8vu3wqLchU0+xMIoCRy2E/fWF6ActTToZrMCJ0Kr/wfgwhw8qL7ZXpfQDpAFa+UxxtUf1M0q2tgXok7V8A7PAnzNEol5B52HgwDYEJsojq3KKer2SFFBOgvOBg7mdMqj5fvbVFVUDK7S5p4tpHDv4Xt93JsY7qHdohf3Esr9xaNXsWgJG2Nqx+mFILLBFpU2Wv7iXVMhG2ZPPCykW1yuLSzHmEx7GWSsi0+DxuLDyVjwUo7HI4hGxMPhY34g+cZyEKnbPdDAF2wXGNMcaIDz1fV3vax8M2QKlBQuHTnFSZPH8BKumZk+mSTi0f3HxoGsGPzTl1Wc/w+b1GW7gsvhdLRx9JZgnSdibvirlyCL/btgYn88TKme9gV/PqXDtbRf7Mbij1R9TuhdHUgMAAA== From d5b08cf75902c46cf7d30031e4f43ca134fe1f17 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Fri, 23 Sep 2016 13:17:08 +0000 Subject: [PATCH 28/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../ui/client/i18n/XLF/StringMessages_ja.properties.xlf | 2 +- .../ui/client/i18n/XLF/StringMessages_ru.properties.xlf | 2 +- .../ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf index e20ef9721b9..dfcb0d124a3 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    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 diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf index 5fba5bd924b..a855f787baa 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    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 diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf index ea156245485..43ec07e718c 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    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 From 7e7c9dcd129cf24eb56b3b6628e5bc691c04cbe7 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Fri, 23 Sep 2016 13:17:17 +0000 Subject: [PATCH 29/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/TrackingStringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/TrackingStringMessages_ru.properties.xlf | 2 +- .../XLF/TrackingStringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf index 70450eaae85..d6aafbe268d 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2RTU/DMAyG7/0VvnGZEGekHgYSUiVgY+3gnLXeajWNo9jbqBD/naQtbOLm+PXH+zgaTN2ROxTuRGqU2D1xyKs5C5c07DlkUhv3tnnkBlfhnYR0G2zFGzyQKIal5C+mQ5BjQBj4CK05IWiL8HX3DUvvgZyosRabW6hadJDmjQV7tpbPaeM0HjhAbanuRtWS6+AoSY5jA0hvgvqWXZzOEOb1YCQ7o625x4rzjymKBRmtyq1gkLzU2AfxmcxkxjWBqbmWllNqkm2c6SL7Ce0wwlYtyXO0khf7Ec9EzICmSb40atAbssATUYMnqhHOpO34TvjGpvLhcoYFCPXeDjPrDuMREpIkN/fZ7shDha7BkKcQdIwz432pHLCYxlT4qclSw+5GLzdPCwfUBXiLRvB36X1qL1jyuftyDu9n/D/p+hzJwDqSxm/2/tX0mJfLNZSROOE/JHuTnEnMFa6kQ6v/S2HOZz95rIJYdwIAAA== diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf index 562725e090c..0a6eba0af2a 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2RTU/DMAyG7/0VvnGZEGekHgYSUiVgY+3gnLXeajWNo9jbqBD/naQtbOLm+PXH+zgaTN2ROxTuRGqU2D1xyKs5C5c07DlkUhv3tnnkBlfhnYR0G2zFGzyQKIal5C+mQ5BjQBj4CK05IWiL8HX3DUvvgZyosRabW6hadJDmjQV7tpbPaeM0HjhAbanuRtWS6+AoSY5jA0hvgvqWXZzOEOb1YCQ7o625x4rzjymKBRmtyq1gkLzU2AfxmcxkxjWBqbmWllNqkm2c6SL7Ce0wwlYtyXO0khf7Ec9EzICmSb40atAbssATUYMnqhHOpO34TvjGpvLhcoYFCPXeDjPrDuMREpIkN/fZ7shDha7BkKcQdIwz432pHLCYxlT4qclSw+5GLzdPCwfUBXiLRvB36X1qL1jyuftyDu9n/D/p+hzJwDqSxm/2/tX0mJfLNZSROOE/JHuTnEnMFa6kQ6v/S2HOZz95rIJYdwIAAA== diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf index a406a0dc256..fd37f40e155 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2RTU/DMAyG7/0VvnGZEGekHgYSUiVgY+3gnLXeajWNo9jbqBD/naQtbOLm+PXH+zgaTN2ROxTuRGqU2D1xyKs5C5c07DlkUhv3tnnkBlfhnYR0G2zFGzyQKIal5C+mQ5BjQBj4CK05IWiL8HX3DUvvgZyosRabW6hadJDmjQV7tpbPaeM0HjhAbanuRtWS6+AoSY5jA0hvgvqWXZzOEOb1YCQ7o625x4rzjymKBRmtyq1gkLzU2AfxmcxkxjWBqbmWllNqkm2c6SL7Ce0wwlYtyXO0khf7Ec9EzICmSb40atAbssATUYMnqhHOpO34TvjGpvLhcoYFCPXeDjPrDuMREpIkN/fZ7shDha7BkKcQdIwz432pHLCYxlT4qclSw+5GLzdPCwfUBXiLRvB36X1qL1jyuftyDu9n/D/p+hzJwDqSxm/2/tX0mJfLNZSROOE/JHuTnEnMFa6kQ6v/S2HOZz95rIJYdwIAAA== From a469213890aef2da4811be505ae46ff209ed33ac Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Fri, 23 Sep 2016 13:17:26 +0000 Subject: [PATCH 30/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../controls/filestorage/XLF/StringMessages_ja.properties.xlf | 2 +- .../controls/filestorage/XLF/StringMessages_ru.properties.xlf | 2 +- .../filestorage/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf index e84b234145a..5ec630be027 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA== diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf index 2a3e31888dd..5cddb8f6a60 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA== diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf index 4e6b1ef6dcd..6f2bb8fa7c2 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA== From 3754cc17a47ff6eec4c81e835c4ed68d153cb10a Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Mon, 26 Sep 2016 08:30:48 +0000 Subject: [PATCH 31/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../ui/client/StringMessages.properties.xlf | 294 +++++++++++++++++- 1 file changed, 288 insertions(+), 6 deletions(-) diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties.xlf index 739a3e8bd16..0920f117544 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties.xlf @@ -1,12 +1,12 @@ - +
    - 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 - +
    @@ -3405,6 +3405,9 @@ Use start time inference from start mark passings + + Control tracking from start and finish times + Number of queue messages sent @@ -4530,19 +4533,19 @@ utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions - + https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app - + https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app https://play.google.com/intl/en/badges/images/generic/en-play-badge.png - + http://appstore.com/sapsailinsight @@ -4851,6 +4854,285 @@ All races have been denoted for racelog tracking. + + Hint: You can also use the leaderboard (on the LEADERBOARD tab) to select the competitors displayed in the chart. + + + Choose a language + + + Solutions + + + Blog + + + Official event website + + + More info + + + View analysis + + + Overall leaderboard + + + Please try again... + + + Reload page + + + An error occured while loading the data for this page. + + + Regatta details + + + Choose chart type + + + What''s new + + + SAP Sailing + + + Search + + + Days + + + Days + + + Hrs + + + Min + + + Sec + + + Day + + + Hour + + + Min + + + Sec + + + Live + + + Watch now + + + Upcoming + + + Last Score Update + + + Not Tracked + + + Jobs + + + © 2011-2016 SAP Sailing Analytics + + + SAP Sailing in + + + Legal Disclosure + + + Privacy + + + Feedback + + + + Search + + + Show All Events + + + Latest Events from the Sailing World + + + Get lost in the latest and most beautiful impressions from your favorite sailing event. + + + Photographers love Sailing + + + Immerse yourself in the world of sailing and check out our latest events for more videos. + + + Recent Video Entries + + + Search + + + Your Search + + + Type in your searchkey + + + Recent + + + SAP in Sailing + + + SAP Sailing Analytics + + + SAP Sailing Race Manager + + + SAP Sail InSight + + + SAP Sailing Buoy Pinger + + + Post-Race Analytics + + + Training Diary + + + Strategy Simulator + + + SAP in Sailing + + + Sailing provides the perfect platform for SAP to showcase solutions and help the sport run like never before. SAP’s involvement in the sport has transformed the sailing experience by providing tools, which: + + + Help sailors analyze performance and optimize strategy + + + Bring fans closer to the action + + + Provide the media with information and insights to deliver a greater informed commentary + + + SAP has a longstanding involvement with sailing and has established a portfolio spanning across teams and regattas, including: + + + Official Technology Partner of Travemünder Woche + + + Technical Partner of the European Sailing Leagues + + + Title sponsor of the SAP Extreme Sailing Team + + + Official Technical Partner of the Extreme Sailing Series + + + Premium Partner of Germany’s national sailing team, Audi Sailing Team Germany + + + Premium Partner of the world’s largest regatta, Kieler Woche (Kiel Week) + + + Title sponsor of the SAP 5O5 World Championships + + + SAP Sailing Analytics + + + By delivering real time analytics around race rankings, speeds, maneuvers, bearings etc., SAP is helping to simplify and demystify the complex sport of sailing. + + + SAP Sailing Analytics provide insights and transparency to the world of sailing by utilizing Cloud and In-Memory Technology, processing GPS and wind measurement data in real time and visualizing contents in various frontends accessible from anywhere. + + + Read More + + + SAP Sailing Race Manager + + + The SAP Sailing Race Manager delivers greater efficiency and control to race organizers by automating and simplifying their manual tasks and communication during running sailing regattas. The Race Committee App helps simplify the operation of running and managing race events to help race committees operate smarter. + + + Learn More + + + SAP Sail InSight + + + With the SAP Sail InSight mobile app for iPhone, iPad and Android phones, sailboat racers can manage their regatta participation and performance anywhere and anytime. This app connects to the SAP Sailing Analytics solution and enables racers to sign in to an SAP Sail InSight-enabled regatta, track their location together with performance indicators like speed or distance sailed, and analyze their performance. + + + Learn More + + + SAP Sailing Buoy Pinger + + + With the SAP Sailing Buoy Pinger mobile app for Android phones, sailboat race managers can simplify the positioning of race marks and communication with the mark layers anywhere and anytime. This app connects to the SAP Sailing Analytics solution and allows regatta managers to track the geographical position of their race marks, enabling the use of the SAP Sail InSight mobile app by sailors participating in the regatta. + + + Learn More + + + Post-Race Analytics + + + Access to data collected at sailing events gives sailors the opportunity to assess and analyse their performances to help develop strategies and sail better. + + + SAP Business Analytics solutions provide sailors, coaches, fans and media with tools to browse and analyse historical data across many regattas and races. SAP HANA allows them to learn about performance patterns, tendencies and sailor profiles in a simple, fast and efficient way in order to optimize their own performance and develop successful strategies for future regattas. + + + SAP Sail Better – STG Training Diary + + + The STG Training Diary supports the daily documentation and analysis of an athlete’s physical condition and training efforts in the areas of water training, physical training, boat work, mental, theory as well as other activities like education or travel. + + + Strategy Simulator + + + Choosing the right strategy can provide great competitive advantage during a race. The Strategy Simulator simplifies determining the best sailing strategy for various wind conditions and water currents. Since wind and current can be changed in the simulation right away, the robustness of a strategy can be easily evaluated even for uncertain weather conditions. + + + Learn More + + + Imprint + + + Last fix + + + Filter device mappings +
    \ No newline at end of file From 2a9d34ed484bc3d5724c32e47f2afc805e9030e7 Mon Sep 17 00:00:00 2001 From: Stsiapan_Tsybulski Date: Fri, 23 Sep 2016 14:14:43 +0300 Subject: [PATCH 32/97] Time ticks match in different locales now --- .../controls/slider/TimeTicksCalculator.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/slider/TimeTicksCalculator.java b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/slider/TimeTicksCalculator.java index 735989a2776..4b4a557ba08 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/slider/TimeTicksCalculator.java +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/slider/TimeTicksCalculator.java @@ -158,10 +158,24 @@ public class TimeTicksCalculator { // get tick positions i = 1; + /* + * There are the Competitor and the Wind highcharts which + * set time ticks depending on a locale. So we have to + * move the ticks in this time slider on the time zone offset + * to match the time ticks in time slider with ticks in highcharts + */ + minDate = new Date(minDate.getTime() - minDate.getTimezoneOffset() * TimeUnits.MINUTE.unitInMs); minYear = minDate.getYear() + 1900; int minMonth = minDate.getMonth() + 1; int minDateDate = minDate.getDate(); long time = minDate.getTime(); + /* + * After the moving time on time zone offset, + * we should make some steps back to find the race start time + */ + while (time > min) { + time -= interval * count; + } // iterate and add tick positions at appropriate values while (time < max) { From c46e0f937f07c5f6c2439f2e0edb99a7f186aed5 Mon Sep 17 00:00:00 2001 From: Kai Boernert Date: Mon, 26 Sep 2016 16:05:20 +0200 Subject: [PATCH 33/97] Fixed Typo --- wiki/howto/onboarding.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wiki/howto/onboarding.md b/wiki/howto/onboarding.md index bbfb3762a81..de06e2e8836 100644 --- a/wiki/howto/onboarding.md +++ b/wiki/howto/onboarding.md @@ -66,7 +66,7 @@ Beside the installation script for Eclipse Mars, there is also one for the new E * Clone the repository to your local file system from `ssh://[SAP-User]@git.wdf.sap.corp:29418/SAPSail/sapsailingcapture.git` or `ssh://[user]@sapsailing.com/home/trac/git` User "trac" has all public ssh keys. 2. Check out the 'master' branch from the git repository. The 'master' branch is the main development branch. Please check that you start your work on this branch. 3. Setup and configure Eclipse - * Make absolutely sure to import CodeFormatter.xml (from $GIT_HOME/java) into your Eclipse preferences (Preferences->Java->Code Style->Fortmatter) + * Make absolutely sure to import CodeFormatter.xml (from $GIT_HOME/java) into your Eclipse preferences (Preferences->Java->Code Style->Formatter) * Install the Eclipse GWT-Plugin (now called Google Plugin for Eclipse) * Install the Google Android SDK from the same Google Plugin for Eclipse update site * In Eclipse go to "Window->Preferences->Java->Build Path->Classpath Variables" and create a new classpath variable called ``ANDROID_HOME``. Set its value to the install location of your Android SDK, e.g., ``c:\apps\android-sdk-windows`` or ``/usr/local/android-sdk-linux``. From 9c5dc3489141877e148062a969344c818681f0c1 Mon Sep 17 00:00:00 2001 From: Kai Boernert Date: Mon, 26 Sep 2016 16:06:22 +0200 Subject: [PATCH 34/97] improved documentation --- wiki/howto/onboarding.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wiki/howto/onboarding.md b/wiki/howto/onboarding.md index de06e2e8836..a99180f63f3 100644 --- a/wiki/howto/onboarding.md +++ b/wiki/howto/onboarding.md @@ -78,7 +78,7 @@ Beside the installation script for Eclipse Mars, there is also one for the new E * Check that JDK 1.7 has been matched to JavaSE-1.7 and that JDK 1.8 has been matched to JavaSE-1.8 (...>Installed JREs>Execution Environments) * It is also possible to match the SAPJVM 7 or 8 to JavaSE-1.7 / JavaSE-1.8 (for profiling purposes) * Go to Windows->Preferences->Google->Errors/Warnings and set "Missing SDK" to "Ignore" - * Import all Race Analysis projects from the `java/` subdirectory of the git main folder (make sure to import as a git project in eclipse) + * Import all Race Analysis projects from the `java/` subdirectory of the git main folder (make sure to import as a git project in eclipse) (make sure to scan for nested projects) * Import all projects from the `mobile/` subdirectory of the git main folder; this in particular contains the race committee app projects * Set the Eclipse target platform to race-analysis-p2-remote.target (located in com.sap.sailing.targetplatform/definitions) * Wait until the target platform has been resolved completely From b06e008a1cd6e22e98b6db7d16c07bdf4f34b7c8 Mon Sep 17 00:00:00 2001 From: Kai Boernert Date: Mon, 26 Sep 2016 16:21:03 +0200 Subject: [PATCH 35/97] added missing required settings to onboarding --- wiki/howto/onboarding.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wiki/howto/onboarding.md b/wiki/howto/onboarding.md index a99180f63f3..358701dd5b2 100644 --- a/wiki/howto/onboarding.md +++ b/wiki/howto/onboarding.md @@ -71,6 +71,8 @@ Beside the installation script for Eclipse Mars, there is also one for the new E * Install the Google Android SDK from the same Google Plugin for Eclipse update site * In Eclipse go to "Window->Preferences->Java->Build Path->Classpath Variables" and create a new classpath variable called ``ANDROID_HOME``. Set its value to the install location of your Android SDK, e.g., ``c:\apps\android-sdk-windows`` or ``/usr/local/android-sdk-linux``. * Install GWT SDK and add the SDK in Eclipse (Preferences -> Google -> Web Toolkit -> Add...) + * In "Window->Preferences->General->Editors->TextEditors" check Insert Spaces for Tabs + * In "Window->Preferences->Web->HTML Files->Editor" indent using Spaces * Install Eclipse debugger for GWT SuperDevMode * Install Eclipse eGit (optional) * Check that JDK 1.8 is available and has been set for compilation in Eclipse From 9ce0a5cbebb368a8caee4d74ca565052e0214232 Mon Sep 17 00:00:00 2001 From: Kai Boernert Date: Mon, 26 Sep 2016 16:25:13 +0200 Subject: [PATCH 36/97] gss settings improvement --- wiki/howto/onboarding.md | 1 + 1 file changed, 1 insertion(+) diff --git a/wiki/howto/onboarding.md b/wiki/howto/onboarding.md index 358701dd5b2..972b940d5b0 100644 --- a/wiki/howto/onboarding.md +++ b/wiki/howto/onboarding.md @@ -73,6 +73,7 @@ Beside the installation script for Eclipse Mars, there is also one for the new E * Install GWT SDK and add the SDK in Eclipse (Preferences -> Google -> Web Toolkit -> Add...) * In "Window->Preferences->General->Editors->TextEditors" check Insert Spaces for Tabs * In "Window->Preferences->Web->HTML Files->Editor" indent using Spaces + * In "Window->Preferences->General->Content Types" select on the right side CSS, now add in the lower file association list *.gss to get limited syntax highlighting and content assist in GSS files * Install Eclipse debugger for GWT SuperDevMode * Install Eclipse eGit (optional) * Check that JDK 1.8 is available and has been set for compilation in Eclipse From dc65f01f94c669f2fc0589f2851da8157b4a10d7 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Mon, 26 Sep 2016 17:05:37 +0200 Subject: [PATCH 37/97] added functionality to display 'unknown' as accuracy for marks where the server returns 1m (which means not set by the user, no local database entry with real accuracy for that ping) --- .../res/values-de/strings.xml | 1 + .../res/values/strings.xml | 1 + .../buoy/positioning/app/adapter/MarkAdapter.java | 11 +++++++++-- .../positioning/app/ui/fragments/BuoyFragment.java | 5 ++--- .../buoy/positioning/app/util/DatabaseHelper.java | 2 +- .../positioning/app/valueobjects/MarkPingInfo.java | 1 + 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/mobile/com.sap.sailing.buoy.positioning/res/values-de/strings.xml b/mobile/com.sap.sailing.buoy.positioning/res/values-de/strings.xml index f77bf6fd3be..f466ee3f429 100755 --- a/mobile/com.sap.sailing.buoy.positioning/res/values-de/strings.xml +++ b/mobile/com.sap.sailing.buoy.positioning/res/values-de/strings.xml @@ -9,6 +9,7 @@ Position zurücksetzen Empfangen der Markierungen… Gesetzt + Unbekannt Nicht gesetzt (Genauigkeit ca. %1$sm) GPS Genauigkeit diff --git a/mobile/com.sap.sailing.buoy.positioning/res/values/strings.xml b/mobile/com.sap.sailing.buoy.positioning/res/values/strings.xml index 85ce4539351..d6adace3426 100644 --- a/mobile/com.sap.sailing.buoy.positioning/res/values/strings.xml +++ b/mobile/com.sap.sailing.buoy.positioning/res/values/strings.xml @@ -12,6 +12,7 @@ Reset Position Getting race marks… set + n/a not set (Accurary ca. %1$sm) ca. %1$.02fm diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/adapter/MarkAdapter.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/adapter/MarkAdapter.java index 721c2a3753c..57435ee2980 100644 --- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/adapter/MarkAdapter.java +++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/adapter/MarkAdapter.java @@ -33,8 +33,15 @@ public class MarkAdapter extends ResourceCursorAdapter { } else { final DecimalFormat df = new DecimalFormat("#.##"); final double accuracy = markPings.get(0).getAccuracy(); - final String accuracyString = String.format(context.getString(R.string.mark_list_accuracy), df.format(accuracy)); - setText = context.getString(R.string.set) + " " + accuracyString; + String accuracyString= ""; + if(accuracy == MarkPingInfo.NOT_SET_BY_USER){ + accuracyString = context.getString(R.string.unknown); + } + else { + accuracyString = context.getString(R.string.set) + " " + + String.format(context.getString(R.string.mark_list_accuracy), df.format(accuracy)); + } + setText = accuracyString; } markName.setText(name); markSet.setText(setText); diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/fragments/BuoyFragment.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/fragments/BuoyFragment.java index c52c3aee9f1..766a4a3423e 100644 --- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/fragments/BuoyFragment.java +++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/ui/fragments/BuoyFragment.java @@ -55,7 +55,6 @@ public class BuoyFragment extends BaseFragment private static final String TAG = BuoyFragment.class.getName(); private static final int GPS_MIN_TIME = 1000; - private static final String N_A = "n/a"; private static final int REQUEST_CHECK_SETTINGS = 1 << 16; private TextView accuracyTextView; @@ -230,8 +229,8 @@ public class BuoyFragment extends BaseFragment } private void setUpTextUI(Location location) { - String accuracyText = N_A; - String distanceText = N_A; + String accuracyText = this.getString(R.string.unknown); + String distanceText = this.getString(R.string.unknown); if (location != null) { accuracyText = getString(R.string.buoy_detail_accuracy_ca, location.getAccuracy()); MarkPingInfo markPing = positioningActivity.getMarkPing(); diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/DatabaseHelper.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/DatabaseHelper.java index f65208dada6..d270bd652dc 100644 --- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/DatabaseHelper.java +++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/DatabaseHelper.java @@ -281,7 +281,7 @@ public class DatabaseHelper { mpcv.put(MarkPing.MARK_ID, markPing.getMarkId().toString()); mpcv.put(MarkPing.MARK_PING_LATITUDE, markPing.getLatitude()); mpcv.put(MarkPing.MARK_PING_LONGITUDE, markPing.getLongitude()); - mpcv.put(MarkPing.MARK_PING_ACCURACY, markPing.getAccuracy()); + mpcv.put(MarkPing.MARK_PING_ACCURACY, (markPing.getAccuracy() == 1 ? MarkPingInfo.NOT_SET_BY_USER : markPing.getAccuracy())); mpcv.put(MarkPing.MARK_PING_TIMESTAMP, markPing.getTimestamp()); opList.add(ContentProviderOperation.newInsert(MarkPing.CONTENT_URI).withValues(mpcv).build()); diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/valueobjects/MarkPingInfo.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/valueobjects/MarkPingInfo.java index dcdc8286672..921f39ff2f1 100644 --- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/valueobjects/MarkPingInfo.java +++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/valueobjects/MarkPingInfo.java @@ -8,6 +8,7 @@ public class MarkPingInfo { private final Serializable markId; private final GPSFix gpsFix; private final double accuracy; + public static final int NOT_SET_BY_USER = -1; public MarkPingInfo(Serializable markId, GPSFix gpsFix, double accuracy) { super(); From ebba32d6e9da3c46180840984e6f8eba7798d7ae Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 26 Sep 2016 18:14:18 +0200 Subject: [PATCH 38/97] factored the simulator admin console settings into a separate panel for re-use in the smartphone tracking tab Change-Id: I5a15d9fca4b91f3c519cd05bad39106a98aca6f6 --- .../gwt/ui/adminconsole/SimulationPanel.java | 60 +++++++++++++++++++ .../TracTracEventManagementPanel.java | 36 ++--------- 2 files changed, 64 insertions(+), 32 deletions(-) create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SimulationPanel.java diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SimulationPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SimulationPanel.java new file mode 100644 index 00000000000..ff4a621350f --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SimulationPanel.java @@ -0,0 +1,60 @@ +package com.sap.sailing.gwt.ui.adminconsole; + +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; +import com.google.gwt.user.client.ui.CheckBox; +import com.google.gwt.user.client.ui.FlowPanel; +import com.google.gwt.user.client.ui.HorizontalPanel; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.TextBox; +import com.google.gwt.user.client.ui.VerticalPanel; +import com.sap.sailing.gwt.ui.client.StringMessages; + +/** + * Can be used in {@link AbstractEventManagementPanel}s to enable some sort of time-delayed race simulation. + * Provides a checkbox (see {@link #isSimulate()}) that enables simulation and an offset in minutes (see + * {@link #getOffsetToStartTimeInMinutes()}). + * + * @author Axel Uhl (d043530) + * + */ +public class SimulationPanel extends VerticalPanel { + private static final String ZERO_AS_STRING = "0"; + final CheckBox simulateWithStartTimeNowCheckBox; + final TextBox offsetToStartTimeOfSimulatedRaceTextBox; + + public SimulationPanel(StringMessages stringMessages) { + offsetToStartTimeOfSimulatedRaceTextBox = new TextBox(); + offsetToStartTimeOfSimulatedRaceTextBox.setWidth("40px"); + offsetToStartTimeOfSimulatedRaceTextBox.setEnabled(false); + offsetToStartTimeOfSimulatedRaceTextBox.setValue(ZERO_AS_STRING); + simulateWithStartTimeNowCheckBox = new CheckBox(stringMessages.simulateAsLiveRace()); + simulateWithStartTimeNowCheckBox.ensureDebugId("SimulateWithStartTimeNowCheckBox"); + simulateWithStartTimeNowCheckBox.setWordWrap(false); + simulateWithStartTimeNowCheckBox.setValue(Boolean.FALSE); + simulateWithStartTimeNowCheckBox.addClickHandler(new ClickHandler() { + @Override + public void onClick(ClickEvent event) { + offsetToStartTimeOfSimulatedRaceTextBox.setEnabled(simulateWithStartTimeNowCheckBox.getValue()); + offsetToStartTimeOfSimulatedRaceTextBox.setFocus(simulateWithStartTimeNowCheckBox.getValue()); + } + }); + + final FlowPanel simulateAsLiveRacePanel = new FlowPanel(); + simulateAsLiveRacePanel.add(simulateWithStartTimeNowCheckBox); + final Label offsetToStartLabel = new Label(stringMessages.simulateWithOffset()); + final HorizontalPanel simulateWithOffsetPanel = new HorizontalPanel(); + simulateWithOffsetPanel.add(offsetToStartLabel); + simulateWithOffsetPanel.add(offsetToStartTimeOfSimulatedRaceTextBox); + add(simulateAsLiveRacePanel); + add(simulateWithOffsetPanel); + } + + public boolean isSimulate() { + return simulateWithStartTimeNowCheckBox.getValue(); + } + + public String getOffsetToStartTimeInMinutes() { + return offsetToStartTimeOfSimulatedRaceTextBox.getValue(); + } +} 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 416a780ba56..5e4e5272b6d 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 @@ -23,7 +23,6 @@ import com.google.gwt.user.client.ui.CaptionPanel; import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.FlexTable; import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter; -import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.HTMLTable.ColumnFormatter; import com.google.gwt.user.client.ui.HorizontalPanel; @@ -85,7 +84,6 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { private LabeledAbstractFilterablePanel racesFilterablePanel; private FlushableCellTable racesTable; - private static final String ZERO_AS_STRING = "0"; public TracTracEventManagementPanel(final SailingServiceAsync sailingService, ErrorReporter errorReporter, RegattaRefresher regattaRefresher, StringMessages stringMessages) { @@ -275,32 +273,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { correctWindCheckBox.setWordWrap(false); correctWindCheckBox.setValue(Boolean.TRUE); - final TextBox offsetToStartTimeOfSimulatedRaceTextBox = new TextBox(); - offsetToStartTimeOfSimulatedRaceTextBox.setWidth("40px"); - offsetToStartTimeOfSimulatedRaceTextBox.setEnabled(false); - offsetToStartTimeOfSimulatedRaceTextBox.setValue(ZERO_AS_STRING); - - final CheckBox simulateWithStartTimeNowCheckBox = new CheckBox(stringMessages.simulateAsLiveRace()); - simulateWithStartTimeNowCheckBox.ensureDebugId("SimulateWithStartTimeNowCheckBox"); - simulateWithStartTimeNowCheckBox.setWordWrap(false); - simulateWithStartTimeNowCheckBox.setValue(Boolean.FALSE); - simulateWithStartTimeNowCheckBox.addClickHandler(new ClickHandler() { - @Override - public void onClick(ClickEvent event) { - offsetToStartTimeOfSimulatedRaceTextBox.setEnabled(simulateWithStartTimeNowCheckBox.getValue()); - offsetToStartTimeOfSimulatedRaceTextBox.setFocus(simulateWithStartTimeNowCheckBox.getValue()); - } - }); - - final FlowPanel simulateAsLiveRacePanel = new FlowPanel(); - simulateAsLiveRacePanel.add(simulateWithStartTimeNowCheckBox); - - final Label offsetToStartLabel = new Label(stringMessages.simulateWithOffset()); - - final HorizontalPanel simulateWithOffsetPanel = new HorizontalPanel(); - simulateWithOffsetPanel.add(offsetToStartLabel); - simulateWithOffsetPanel.add(offsetToStartTimeOfSimulatedRaceTextBox); - + final SimulationPanel simulationPanel = new SimulationPanel(stringMessages); final CheckBox ignoreTracTracMarkPassingsCheckbox = new CheckBox(stringMessages.useInternalAlgorithm()); ignoreTracTracMarkPassingsCheckbox.setWordWrap(false); ignoreTracTracMarkPassingsCheckbox.setValue(Boolean.FALSE); @@ -308,8 +281,7 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { layoutTable.setWidget(++row, 0, trackSettingsLabel); layoutTable.setWidget(row, 1, trackWindCheckBox); layoutTable.setWidget(++row, 1, correctWindCheckBox); - layoutTable.setWidget(++row, 1, simulateAsLiveRacePanel); - layoutTable.setWidget(++row, 1, simulateWithOffsetPanel); + layoutTable.setWidget(++row, 1, simulationPanel); layoutTable.setWidget(++row, 1, ignoreTracTracMarkPassingsCheckbox); // Filter @@ -413,8 +385,8 @@ public class TracTracEventManagementPanel extends AbstractEventManagementPanel { @Override public void onClick(ClickEvent event) { Duration offsetToStartTimeOfSimulatedRace = null; - if(simulateWithStartTimeNowCheckBox.getValue().booleanValue()) { - offsetToStartTimeOfSimulatedRace = getMillisecondsDurationFromMinutesAsString(offsetToStartTimeOfSimulatedRaceTextBox.getValue()); + if (simulationPanel.isSimulate()) { + offsetToStartTimeOfSimulatedRace = getMillisecondsDurationFromMinutesAsString(simulationPanel.getOffsetToStartTimeInMinutes()); } trackSelectedRaces(trackWindCheckBox.getValue(), correctWindCheckBox.getValue(), offsetToStartTimeOfSimulatedRace, ignoreTracTracMarkPassingsCheckbox.getValue()); From 5e42d9acbfacb4b6820a97aaeb5a58a09fb18b23 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Tue, 27 Sep 2016 15:22:06 +0200 Subject: [PATCH 39/97] Pings sent from server on sync do not transport the standard '1'm accuracy all the time, instead the CheckingManager can deal with the value missing; stores them with -1 accuracy, this gets checked in MarkAdapter and is displayed as n/a on the UI --- .../serialization/impl/FlatGPSFixJsonSerializer.java | 8 ++++++-- .../buoy/positioning/app/adapter/MarkAdapter.java | 1 + .../buoy/positioning/app/util/CheckinManager.java | 11 ++++++++++- .../buoy/positioning/app/util/DatabaseHelper.java | 2 +- .../positioning/app/valueobjects/MarkPingInfo.java | 3 ++- 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/impl/FlatGPSFixJsonSerializer.java b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/impl/FlatGPSFixJsonSerializer.java index 86059c4429f..689a03fe977 100644 --- a/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/impl/FlatGPSFixJsonSerializer.java +++ b/java/com.sap.sailing.server.gateway.serialization.shared.android/src/com/sap/sailing/server/gateway/serialization/impl/FlatGPSFixJsonSerializer.java @@ -17,8 +17,12 @@ public class FlatGPSFixJsonSerializer implements JsonSerializer { result.put(FIELD_LON_DEG, object.getPosition().getLngDeg()); result.put(FIELD_LAT_DEG, object.getPosition().getLatDeg()); result.put(FIELD_TIME_MILLIS, object.getTimePoint().asMillis()); - // TODO the default accuracy is 1.0; when fixes ever have an accuracy, report it here - result.put(FIELD_ACCURACY, 1.0); + // TODO Insert Accuracy if someday available from the server + // Buoy Pinger app will interpret no accuracy in JSON message as MarkPingInfo.NOT_SET_BY_USER (-1) and store that in DB + // For the user these values are displayed as R.string.unknown ("n/a"); + // (CheckinManager in Buoy Pinger can accept messages with and without accuracy) + + // result.put(FIELD_ACCURACY, XXXXXXXXX); return result; } } diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/adapter/MarkAdapter.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/adapter/MarkAdapter.java index 57435ee2980..5729fa1fadf 100644 --- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/adapter/MarkAdapter.java +++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/adapter/MarkAdapter.java @@ -34,6 +34,7 @@ public class MarkAdapter extends ResourceCursorAdapter { final DecimalFormat df = new DecimalFormat("#.##"); final double accuracy = markPings.get(0).getAccuracy(); String accuracyString= ""; + //accuracy-values that are stored as -1 will be displayed as "n/a" if(accuracy == MarkPingInfo.NOT_SET_BY_USER){ accuracyString = context.getString(R.string.unknown); } diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/CheckinManager.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/CheckinManager.java index 72cc7bf1814..6e41b915e4b 100644 --- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/CheckinManager.java +++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/CheckinManager.java @@ -189,8 +189,17 @@ public class CheckinManager { org.json.simple.JSONObject simplePosition; simplePosition = JsonHelper.convertToSimple(positionJson); GPSFix gpsFix = deserializer.deserialize(simplePosition); - MarkPingInfo ping = new MarkPingInfo(mark.getId(), gpsFix, positionJson.getDouble(FlatGPSFixJsonSerializer.FIELD_ACCURACY)); + //accepts JSON messages without accuracy and with, without will be displayed as "n/a" + MarkPingInfo ping; + if (positionJson.has(FlatGPSFixJsonSerializer.FIELD_ACCURACY)){ + ping = new MarkPingInfo(mark.getId(), gpsFix, positionJson.getDouble(FlatGPSFixJsonSerializer.FIELD_ACCURACY)); + } + else { + ping = new MarkPingInfo(mark.getId(), gpsFix, MarkPingInfo.NOT_SET_BY_USER); + } + if (ping != null){ pings.add(ping); + } } } marks.add(mark); diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/DatabaseHelper.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/DatabaseHelper.java index d270bd652dc..f65208dada6 100644 --- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/DatabaseHelper.java +++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/util/DatabaseHelper.java @@ -281,7 +281,7 @@ public class DatabaseHelper { mpcv.put(MarkPing.MARK_ID, markPing.getMarkId().toString()); mpcv.put(MarkPing.MARK_PING_LATITUDE, markPing.getLatitude()); mpcv.put(MarkPing.MARK_PING_LONGITUDE, markPing.getLongitude()); - mpcv.put(MarkPing.MARK_PING_ACCURACY, (markPing.getAccuracy() == 1 ? MarkPingInfo.NOT_SET_BY_USER : markPing.getAccuracy())); + mpcv.put(MarkPing.MARK_PING_ACCURACY, markPing.getAccuracy()); mpcv.put(MarkPing.MARK_PING_TIMESTAMP, markPing.getTimestamp()); opList.add(ContentProviderOperation.newInsert(MarkPing.CONTENT_URI).withValues(mpcv).build()); diff --git a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/valueobjects/MarkPingInfo.java b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/valueobjects/MarkPingInfo.java index 921f39ff2f1..1ace4490e7d 100644 --- a/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/valueobjects/MarkPingInfo.java +++ b/mobile/com.sap.sailing.buoy.positioning/src/com/sap/sailing/android/buoy/positioning/app/valueobjects/MarkPingInfo.java @@ -8,7 +8,8 @@ public class MarkPingInfo { private final Serializable markId; private final GPSFix gpsFix; private final double accuracy; - public static final int NOT_SET_BY_USER = -1; + + public static final int NOT_SET_BY_USER = -1; // this is used for accuracies that are displayed as "n/a" public MarkPingInfo(Serializable markId, GPSFix gpsFix, double accuracy) { super(); From 34992ed5a358aaea29a631a85dd4ab9eef5af55c Mon Sep 17 00:00:00 2001 From: Alexander Ries Date: Tue, 27 Sep 2016 16:49:00 +0200 Subject: [PATCH 40/97] Fixded string messages --- .../SAPTracker/Base.lproj/Localizable.strings | Bin 12558 -> 12558 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings b/ios/SAPTracker/src/xcode/SAPTracker/Base.lproj/Localizable.strings index 3b33b10765eb7adad2d8a80f9eb108f2002734ea..6e3a025ff81702a6c1754eda1e4f2e6203b76526 100644 GIT binary patch delta 33 ocmeB6>Py-nBgvS&SynQYg)^BUpCN@Il|gUvLoWHvt7KDz0jvZG+yDRo delta 33 ocmeB6>Py-nBgyEzSynQYh0~cKpCN@Il|gUvLoWHvt7KDz0j8u0oB#j- From ca14fe33f67b1064233e5faedb6823f0d6b76926 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 27 Sep 2016 17:17:33 +0200 Subject: [PATCH 41/97] tracing for Future.get Change-Id: I5c0bf627c86eef180889fa769e7952de2a27afdd --- .../sailing/domain/test/ConcurrencyTest.java | 4 +- .../domain/base/impl/DouglasPeucker.java | 20 ++--- .../caching/LeaderboardDTOCache.java | 20 ++--- .../impl/AbstractSimpleLeaderboardImpl.java | 18 ++--- .../domain/tracking/impl/TrackedRaceImpl.java | 3 +- .../gwt/ui/server/SimulatorServiceImpl.java | 14 +--- .../impl/TrackFileExporterImpl.java | 5 +- .../server/impl/RacingEventServiceImpl.java | 3 +- .../simulation/SimulationServiceFactory.java | 4 +- .../SimulationServiceFactoryImpl.java | 4 +- .../simulation/SimulationServiceImpl.java | 36 ++++----- .../com/sap/sse/util/SmartFutureCache.java | 16 +++- .../src/com/sap/sse/util/ThreadPoolUtil.java | 6 +- .../util/impl/FutureTaskWithTracingGet.java | 37 +++++++++ .../com/sap/sse/util/impl/HasTracingGet.java | 16 ++++ .../sap/sse/util/impl/HasTracingGetImpl.java | 37 +++++++++ .../com/sap/sse/util/impl/KnowsExecutor.java | 14 ++++ .../util/impl/KnowsExecutorAndTracingGet.java | 17 +++++ .../impl/KnowsExecutorAndTracingGetImpl.java | 32 ++++++++ ...medTracingScheduledThreadPoolExecutor.java | 75 +++++++++++++++++++ .../util/impl/ThreadPoolAwareFutureTask.java | 43 +++++++++++ ...lAwareRunnableScheduledFutureDelegate.java | 53 +++++++++++++ .../sap/sse/util/impl/ThreadPoolUtilImpl.java | 26 +++---- 23 files changed, 407 insertions(+), 96 deletions(-) create mode 100644 java/com.sap.sse/src/com/sap/sse/util/impl/FutureTaskWithTracingGet.java create mode 100644 java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGet.java create mode 100644 java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java create mode 100644 java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutor.java create mode 100644 java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGet.java create mode 100644 java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGetImpl.java create mode 100644 java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java create mode 100644 java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareFutureTask.java create mode 100644 java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareRunnableScheduledFutureDelegate.java diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ConcurrencyTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ConcurrencyTest.java index 0204088e717..e7d08ff101a 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ConcurrencyTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/ConcurrencyTest.java @@ -10,7 +10,6 @@ import java.net.URI; import java.net.URISyntaxException; import java.text.ParseException; import java.util.List; -import java.util.concurrent.Executors; import java.util.logging.Logger; import org.junit.Before; @@ -30,6 +29,7 @@ import com.sap.sailing.domain.tracking.MarkPassing; import com.sap.sailing.domain.tractracadapter.ReceiverType; import com.sap.sailing.domain.tractracadapter.TracTracConnectionConstants; import com.sap.sse.common.impl.MillisecondsTimePoint; +import com.sap.sse.util.ThreadPoolUtil; import com.tractrac.model.lib.api.event.CreateModelException; import com.tractrac.subscription.lib.api.SubscriberInitializationException; @@ -77,7 +77,7 @@ public class ConcurrencyTest extends OnlineTracTracBasedTest { logger.info("1 thread: "+duration+"ns"); logger.info("number of approximation points: "+approximation1.size()); - dp = new DouglasPeucker(teamAquaTrack, Executors.newFixedThreadPool(numberOfCPUs)); + dp = new DouglasPeucker(teamAquaTrack, ThreadPoolUtil.INSTANCE.getDefaultBackgroundTaskThreadPoolExecutor()); start = System.nanoTime(); List approximation2 = dp.approximate(new MeterDistance(3), firstMarkPassing.getTimePoint(), lastMarkPassing.getTimePoint()); duration = System.nanoTime()-start; diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DouglasPeucker.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DouglasPeucker.java index 9971762470e..efd8c9a53a8 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DouglasPeucker.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/DouglasPeucker.java @@ -6,12 +6,9 @@ import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.List; -import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executor; import java.util.concurrent.Future; -import java.util.concurrent.FutureTask; -import java.util.concurrent.RunnableFuture; +import java.util.concurrent.ScheduledExecutorService; import com.sap.sailing.domain.common.Bearing; import com.sap.sailing.domain.common.Distance; @@ -31,7 +28,7 @@ import com.sap.sse.common.Util; public class DouglasPeucker { private final GPSFixTrack track; - private final Executor executor; + private final ScheduledExecutorService executor; public DouglasPeucker(GPSFixTrack track) { this.track = track; @@ -42,7 +39,7 @@ public class DouglasPeucker { * Allows clients to specify a non-default, optionally multi-threaded executor that will be used to perform the * high-effort computations. */ - public DouglasPeucker(GPSFixTrack track, Executor executor) { + public DouglasPeucker(GPSFixTrack track, ScheduledExecutorService executor) { this.track = track; this.executor = executor; } @@ -96,15 +93,8 @@ public class DouglasPeucker { if (fix.getTimePoint().compareTo(to) > 0) { break; } - RunnableFuture> crossTrackErrorFuture = new FutureTask>( - new Callable>() { - @Override - public Util.Pair call() throws Exception { - return new Util.Pair(fix, fix.getPosition().absoluteCrossTrackError( - fromPosition, bearing)); - } - }); - executor.execute(crossTrackErrorFuture); + Future> crossTrackErrorFuture = executor.submit( + ()->new Util.Pair(fix, fix.getPosition().absoluteCrossTrackError(fromPosition, bearing))); crossTrackErrorFutures.add(crossTrackErrorFuture); } for (Future> crossTrackErrorFuture : crossTrackErrorFutures) { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/caching/LeaderboardDTOCache.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/caching/LeaderboardDTOCache.java index a4c9e684d01..eb6d8f44056 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/caching/LeaderboardDTOCache.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/caching/LeaderboardDTOCache.java @@ -23,6 +23,7 @@ import com.sap.sse.common.TimePoint; import com.sap.sse.common.Util; import com.sap.sse.concurrent.LockUtil; import com.sap.sse.concurrent.NamedReentrantReadWriteLock; +import com.sap.sse.util.impl.FutureTaskWithTracingGet; /** * Caches the expensive to compute {@link LeaderboardDTO} results of a @@ -140,15 +141,16 @@ public class LeaderboardDTOCache implements LeaderboardCache { LockUtil.unlockAfterRead(leaderboardCacheLock); } if (future == null) { - future = new FutureTask(new Callable() { - @Override - public LeaderboardDTO call() throws Exception { - LeaderboardDTO result = leaderboard.computeDTO(adjustedTimePoint, - namesOfRaceColumnsForWhichToLoadLegDetails, addOverallDetails, - waitForLatestAnalyses, trackedRegattaRegistry, baseDomainFactory, /* fillTotalPointsUncorrected */ false); - return result; - } - }); + future = new FutureTaskWithTracingGet(LeaderboardDTOCache.class.getName()+" for leaderboard "+leaderboard.getName(), + new Callable() { + @Override + public LeaderboardDTO call() throws Exception { + LeaderboardDTO result = leaderboard.computeDTO(adjustedTimePoint, + namesOfRaceColumnsForWhichToLoadLegDetails, addOverallDetails, + waitForLatestAnalyses, trackedRegattaRegistry, baseDomainFactory, /* fillTotalPointsUncorrected */ false); + return result; + } + }); // The add(Leaderboard) method that the cache manager calls back on this class does nothing, so no synchronization required this.leaderboardCacheManager.add(leaderboard); // ensure the leaderboard is tracked for changes to invalidate LockUtil.lockForWrite(leaderboardCacheLock); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractSimpleLeaderboardImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractSimpleLeaderboardImpl.java index a60ec26b586..083e5915d18 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractSimpleLeaderboardImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/leaderboard/impl/AbstractSimpleLeaderboardImpl.java @@ -21,7 +21,6 @@ import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; -import java.util.concurrent.FutureTask; import java.util.concurrent.RunnableFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -97,6 +96,7 @@ import com.sap.sse.common.impl.MillisecondsTimePoint; import com.sap.sse.concurrent.LockUtil; import com.sap.sse.concurrent.NamedReentrantReadWriteLock; import com.sap.sse.util.ThreadPoolUtil; +import com.sap.sse.util.impl.FutureTaskWithTracingGet; /** * Base implementation for various types of leaderboards. The {@link RaceColumnListener} implementation forwards events @@ -311,7 +311,7 @@ public abstract class AbstractSimpleLeaderboardImpl implements Leaderboard, Race this.suppressedCompetitors = new HashSet(); this.suppressedCompetitorsLock = new NamedReentrantReadWriteLock("suppressedCompetitorsLock", /* fair */ false); this.raceColumnListeners = new RaceColumnListeners(); - this.raceDetailsAtEndOfTrackingCache = new HashMap, RunnableFuture>(); + this.raceDetailsAtEndOfTrackingCache = new HashMap<>(); initTransientFields(); } @@ -330,7 +330,7 @@ public abstract class AbstractSimpleLeaderboardImpl implements Leaderboard, Race } private void initTransientFields() { - this.raceDetailsAtEndOfTrackingCache = new HashMap, RunnableFuture>(); + this.raceDetailsAtEndOfTrackingCache = new HashMap<>(); this.cacheInvalidationListeners = new HashSet(); // When many updates are triggered in a short period of time by a single thread, ensure that the single thread // providing the updates is not outperformed by all the re-calculations happening here. Leave at least one @@ -1225,7 +1225,7 @@ public abstract class AbstractSimpleLeaderboardImpl implements Leaderboard, Race } // Now create the race columns and, as a future task, set their competitorsFromBestToWorst, then wait for all these // futures to finish: - Map>> competitorsFromBestToWorstTasks = new HashMap<>(); + Map>> competitorsFromBestToWorstTasks = new HashMap<>(); for (final RaceColumn raceColumn : this.getRaceColumns()) { boolean isMetaLeaderboardColumn = raceColumn instanceof MetaLeaderboardColumn; RaceColumnDTO raceColumnDTO = result.createEmptyRaceColumn(raceColumn.getName(), raceColumn.isMedalRace(), @@ -1253,13 +1253,12 @@ public abstract class AbstractSimpleLeaderboardImpl implements Leaderboard, Race raceColumn instanceof RaceColumnInSeries ? ((RaceColumnInSeries) raceColumn).getSeries().getName() : null, fleetDTO, raceColumn.isMedalRace(), raceIdentifier, race, isMetaLeaderboardColumn); } - FutureTask> task = new FutureTask>( + Future> task = executor.submit( () -> baseDomainFactory.getCompetitorDTOList(AbstractSimpleLeaderboardImpl.this.getCompetitorsFromBestToWorst(raceColumn, timePoint))); - executor.execute(task); competitorsFromBestToWorstTasks.put(raceColumn, task); } // wait for the competitor orderings to have been computed for all race columns before continuing; subsequent tasks may depend on these data - for (Map.Entry>> raceColumnAndTaskToJoin : competitorsFromBestToWorstTasks.entrySet()) { + for (Map.Entry>> raceColumnAndTaskToJoin : competitorsFromBestToWorstTasks.entrySet()) { try { result.setCompetitorsFromBestToWorst(raceColumnAndTaskToJoin.getKey().getName(), raceColumnAndTaskToJoin.getValue().get()); } catch (InterruptedException e) { @@ -1323,7 +1322,7 @@ public abstract class AbstractSimpleLeaderboardImpl implements Leaderboard, Race Map> futuresForColumnName = new HashMap>(); final Set discardedRaceColumns = getResultDiscardingRule().getDiscardedRaceColumns(competitor, this, getRaceColumns(), timePoint); for (final RaceColumn raceColumn : this.getRaceColumns()) { - RunnableFuture future = new FutureTask(() -> { + Future future = executor.submit(() -> { Entry entry = AbstractSimpleLeaderboardImpl.this.getEntry(competitor, raceColumn, timePoint, discardedRaceColumns); return getLeaderboardEntryDTO(entry, raceColumn, competitor, timePoint, namesOfRaceColumnsForWhichToLoadLegDetails != null @@ -1331,7 +1330,6 @@ public abstract class AbstractSimpleLeaderboardImpl implements Leaderboard, Race .getName()), waitForLatestAnalyses, legRanksCache, baseDomainFactory, fillTotalPointsUncorrected, cache); }); - executor.execute(future); futuresForColumnName.put(raceColumn.getName(), future); } for (Map.Entry> raceColumnNameAndFuture : futuresForColumnName.entrySet()) { @@ -1611,7 +1609,7 @@ public abstract class AbstractSimpleLeaderboardImpl implements Leaderboard, Race raceDetails = raceDetailsAtEndOfTrackingCache.get(key); if (raceDetails == null) { needToRunRaceDetails = true; - raceDetails = new FutureTask(new Callable() { + raceDetails = new FutureTaskWithTracingGet("RaceDetails for "+trackedRace, new Callable() { @Override public RaceDetails call() throws Exception { TimePoint end = trackedRace.getEndOfRace(); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java index cad88ade91b..e44413cb5e7 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java @@ -158,6 +158,7 @@ import com.sap.sse.util.SmartFutureCache; import com.sap.sse.util.SmartFutureCache.AbstractCacheUpdater; import com.sap.sse.util.SmartFutureCache.EmptyUpdateInterval; import com.sap.sse.util.impl.ArrayListNavigableSet; +import com.sap.sse.util.impl.FutureTaskWithTracingGet; import difflib.DiffUtils; import difflib.Patch; @@ -1875,7 +1876,7 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl synchronized (directionFromStartToNextMarkCache) { future = directionFromStartToNextMarkCache.get(at); if (future == null) { - newFuture = new FutureTask(new Callable() { + newFuture = new FutureTaskWithTracingGet("getDirectionFromStartToNextMark for "+this, new Callable() { @Override public Wind call() { Wind result; diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SimulatorServiceImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SimulatorServiceImpl.java index 2a2a72e011f..6f6fba2e3e7 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SimulatorServiceImpl.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SimulatorServiceImpl.java @@ -10,10 +10,7 @@ import java.util.Map.Entry; import java.util.NavigableMap; import java.util.Set; import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executor; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.ScheduledExecutorService; import java.util.logging.Logger; import com.google.gwt.user.server.rpc.RemoteServiceServlet; @@ -86,7 +83,7 @@ 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.impl.ThreadFactoryWithPriority; +import com.sap.sse.util.ThreadPoolUtil; public class SimulatorServiceImpl extends RemoteServiceServlet implements SimulatorService { @@ -107,12 +104,7 @@ public class SimulatorServiceImpl extends RemoteServiceServlet implements Simula private SpeedWithBearing averageWind = null; public SimulatorServiceImpl() { - final int THREAD_POOL_SIZE = Math.max(Runtime.getRuntime().availableProcessors()/2, 3); - Executor simulatorExecutor = new ThreadPoolExecutor(/* corePoolSize */THREAD_POOL_SIZE, - /* maximumPoolSize */THREAD_POOL_SIZE, - /* keepAliveTime */60, TimeUnit.SECONDS, - /* workQueue */new LinkedBlockingQueue(), - new ThreadFactoryWithPriority(Thread.NORM_PRIORITY, /* daemon */ true)); + final ScheduledExecutorService simulatorExecutor = ThreadPoolUtil.INSTANCE.getDefaultForegroundTaskThreadPoolExecutor(); // TODO: initialize smart-future-cache for simulation-results and add to simulation-service simulationService = SimulationServiceFactory.INSTANCE.getService(simulatorExecutor, null); } diff --git a/java/com.sap.sailing.server.trackfiles/src/com/sap/sailing/server/trackfiles/impl/TrackFileExporterImpl.java b/java/com.sap.sailing.server.trackfiles/src/com/sap/sailing/server/trackfiles/impl/TrackFileExporterImpl.java index fe52330b27b..0c11fe98d55 100644 --- a/java/com.sap.sailing.server.trackfiles/src/com/sap/sailing/server/trackfiles/impl/TrackFileExporterImpl.java +++ b/java/com.sap.sailing.server.trackfiles/src/com/sap/sailing/server/trackfiles/impl/TrackFileExporterImpl.java @@ -6,7 +6,6 @@ import java.util.Collections; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -18,7 +17,7 @@ import com.sap.sailing.domain.common.trackfiles.TrackFilesFormat; import com.sap.sailing.domain.trackimport.FormatNotSupportedException; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.server.trackfiles.TrackFileExporter; -import com.sap.sse.util.impl.ThreadFactoryWithPriority; +import com.sap.sse.util.ThreadPoolUtil; /** * Export data to well-known formats such as GPX, KML etc. Internally, the RouteConverter Library is used. @@ -56,7 +55,7 @@ public class TrackFileExporterImpl implements TrackFileExporter { }; List callables = new ArrayList<>(); - ExecutorService executor = Executors.newCachedThreadPool(new ThreadFactoryWithPriority(Thread.NORM_PRIORITY, /* daemon */ true)); + ExecutorService executor = ThreadPoolUtil.INSTANCE.getDefaultForegroundTaskThreadPoolExecutor(); List errors = new ArrayList<>(); for (TrackedRace race : races) { for (TrackFilesDataSource d : data) { diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java index e3ed723b961..2605ac6ddb2 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java @@ -28,7 +28,6 @@ import java.util.Map.Entry; import java.util.Set; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.Executor; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; @@ -605,7 +604,7 @@ public class RacingEventServiceImpl implements RacingEventService, ClearStateTes operationExecutionListeners = new ConcurrentHashMap<>(); courseListeners = new ConcurrentHashMap<>(); persistentRegattasForRaceIDs = new ConcurrentHashMap<>(); - Executor simulatorExecutor = ThreadPoolUtil.INSTANCE.getDefaultBackgroundTaskThreadPoolExecutor(); + final ScheduledExecutorService simulatorExecutor = ThreadPoolUtil.INSTANCE.getDefaultBackgroundTaskThreadPoolExecutor(); // TODO: initialize smart-future-cache for simulation-results and add to simulation-service simulationService = SimulationServiceFactory.INSTANCE.getService(simulatorExecutor, this); this.raceLogReplicator = new RaceLogReplicatorAndNotifier(this); diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceFactory.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceFactory.java index 5cf6daff5c6..e214bfbf9ab 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceFactory.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceFactory.java @@ -1,6 +1,6 @@ package com.sap.sailing.server.simulation; -import java.util.concurrent.Executor; +import java.util.concurrent.ScheduledExecutorService; import com.sap.sailing.server.RacingEventService; @@ -8,6 +8,6 @@ public interface SimulationServiceFactory { static SimulationServiceFactory INSTANCE = new SimulationServiceFactoryImpl(); - SimulationService getService(Executor executor, RacingEventService racingEventService); + SimulationService getService(ScheduledExecutorService executor, RacingEventService racingEventService); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceFactoryImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceFactoryImpl.java index cd73c3228b9..c7a6ce0bfbc 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceFactoryImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceFactoryImpl.java @@ -1,12 +1,12 @@ package com.sap.sailing.server.simulation; -import java.util.concurrent.Executor; +import java.util.concurrent.ScheduledExecutorService; import com.sap.sailing.server.RacingEventService; public class SimulationServiceFactoryImpl implements SimulationServiceFactory { - public SimulationService getService(Executor executor, RacingEventService racingEventService) { + public SimulationService getService(ScheduledExecutorService executor, RacingEventService racingEventService) { return new SimulationServiceImpl(executor, racingEventService); } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceImpl.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceImpl.java index 74d01a04541..515f7cac9ec 100644 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceImpl.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/simulation/SimulationServiceImpl.java @@ -8,9 +8,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.TreeMap; import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executor; -import java.util.concurrent.Executors; -import java.util.concurrent.FutureTask; +import java.util.concurrent.Future; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.logging.Logger; @@ -59,13 +57,12 @@ import com.sap.sse.common.TimePoint; import com.sap.sse.common.impl.MillisecondsDurationImpl; import com.sap.sse.common.impl.MillisecondsTimePoint; import com.sap.sse.util.SmartFutureCache; -import com.sap.sse.util.impl.ThreadFactoryWithPriority; public class SimulationServiceImpl implements SimulationService { private static final Logger logger = Logger.getLogger(SimulationService.class.getName()); - final private Executor executor; + final private ScheduledExecutorService executor; final private SmartFutureCache cache; final private RacingEventService racingEventService; final private ScheduledExecutorService scheduler; @@ -73,9 +70,9 @@ public class SimulationServiceImpl implements SimulationService { final private HashMap legListeners; final private long WAIT_MILLIS = 20000; // milliseconds to wait until earliest cache-update for simulation - public SimulationServiceImpl(Executor executor, RacingEventService racingEventService) { + public SimulationServiceImpl(ScheduledExecutorService executor, RacingEventService racingEventService) { this.executor = executor; - this.scheduler = Executors.newScheduledThreadPool(1, new ThreadFactoryWithPriority(Thread.NORM_PRIORITY, /* daemon */ true)); + this.scheduler = executor; this.racingEventService = racingEventService; if (racingEventService != null) { this.raceListeners = new HashMap(); @@ -437,31 +434,26 @@ public class SimulationServiceImpl implements SimulationService { Simulator simulator = new SimulatorImpl(simulationParameters); Map result = new HashMap(); - FutureTask taskOmniscient = null; + Future taskOmniscient = null; if (simulationParameters.showOmniscient()) { // schedule omniscient task - taskOmniscient = new FutureTask(() -> simulator.getPath(PathType.OMNISCIENT)); - executor.execute(taskOmniscient); + taskOmniscient = executor.submit(() -> simulator.getPath(PathType.OMNISCIENT)); } - FutureTask task1TurnerLeft = null; - FutureTask task1TurnerRight = null; + Future task1TurnerLeft = null; + Future task1TurnerRight = null; if (simulationParameters.getLegType() != LegType.REACHING) { // schedule 1-turner tasks - task1TurnerLeft = new FutureTask(() -> simulator.getPath(PathType.ONE_TURNER_LEFT)); - task1TurnerRight = new FutureTask(() -> simulator.getPath(PathType.ONE_TURNER_RIGHT)); - executor.execute(task1TurnerLeft); - executor.execute(task1TurnerRight); + task1TurnerLeft = executor.submit(() -> simulator.getPath(PathType.ONE_TURNER_LEFT)); + task1TurnerRight = executor.submit(() -> simulator.getPath(PathType.ONE_TURNER_RIGHT)); } - FutureTask taskOpportunistLeft = null; - FutureTask taskOpportunistRight = null; + Future taskOpportunistLeft = null; + Future taskOpportunistRight = null; if (simulationParameters.showOpportunist()) { // schedule opportunist tasks (which depend on 1-turner results) - taskOpportunistLeft = new FutureTask(() -> simulator.getPath(PathType.OPPORTUNIST_LEFT)); - taskOpportunistRight = new FutureTask(() -> simulator.getPath(PathType.OPPORTUNIST_RIGHT)); - executor.execute(taskOpportunistLeft); - executor.execute(taskOpportunistRight); + taskOpportunistLeft = executor.submit(() -> simulator.getPath(PathType.OPPORTUNIST_LEFT)); + taskOpportunistRight = executor.submit(() -> simulator.getPath(PathType.OPPORTUNIST_RIGHT)); } Path path1TurnerLeft = null; diff --git a/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java b/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java index bf489da87e7..91e82bbaf81 100755 --- a/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java +++ b/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java @@ -13,6 +13,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; import java.util.concurrent.Future; import java.util.concurrent.FutureTask; +import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -23,6 +24,9 @@ import com.sap.sse.common.Util.Pair; import com.sap.sse.concurrent.LockUtil; import com.sap.sse.concurrent.NamedReentrantReadWriteLock; import com.sap.sse.util.SmartFutureCache.UpdateInterval; +import com.sap.sse.util.impl.KnowsExecutor; +import com.sap.sse.util.impl.KnowsExecutorAndTracingGet; +import com.sap.sse.util.impl.KnowsExecutorAndTracingGetImpl; /** * A cache for which a background update can be triggered. Readers can decide whether they want to wait for any ongoing @@ -201,7 +205,9 @@ public class SmartFutureCache> { * @author Axel Uhl (D043530) * */ - private class FutureTaskWithCancelBlocking extends FutureTask implements Callable { + private class FutureTaskWithCancelBlocking extends FutureTask implements KnowsExecutor, Callable { + private final KnowsExecutorAndTracingGet tracingGetHelper; + private boolean runningAndReadUpdateInterval; private final K key; @@ -228,6 +234,7 @@ public class SmartFutureCache> { public FutureTaskWithCancelBlocking(SettableCallable callable, final K key, final U updateInterval, final boolean callerWaitsSynchronouslyForResult, final Thread callerThread) { super(callable); + tracingGetHelper = new KnowsExecutorAndTracingGetImpl<>(); callable.setCallable(this); this.gettingThreads = new HashSet<>(); this.key = key; @@ -274,7 +281,7 @@ public class SmartFutureCache> { } } } - return super.get(); + return tracingGetHelper.callGetAndTraceAfterEachTimeout(this); } @Override @@ -363,6 +370,11 @@ public class SmartFutureCache> { public U getUpdateInterval() { return updateInterval; } + + @Override + public void setExecutorThisTaskIsScheduledFor(ThreadPoolExecutor executorThisTaskIsScheduledFor) { + tracingGetHelper.setExecutorThisTaskIsScheduledFor(executorThisTaskIsScheduledFor); + } } public SmartFutureCache(CacheUpdater cacheUpdateComputer, String nameForLocks) { diff --git a/java/com.sap.sse/src/com/sap/sse/util/ThreadPoolUtil.java b/java/com.sap.sse/src/com/sap/sse/util/ThreadPoolUtil.java index 26ae00ad34a..f7df48fa45b 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/ThreadPoolUtil.java +++ b/java/com.sap.sse/src/com/sap/sse/util/ThreadPoolUtil.java @@ -51,8 +51,9 @@ public interface ThreadPoolUtil { *

    * * The same configuration as for {@link #getDefaultBackgroundTaskThreadPoolExecutor()} is used. + * @param name TODO */ - ScheduledExecutorService createBackgroundTaskThreadPoolExecutor(); + ScheduledExecutorService createBackgroundTaskThreadPoolExecutor(String name); /** * In case an application module really requires its own thread pool instead of @@ -73,6 +74,7 @@ public interface ThreadPoolUtil { *

    * * The same configuration as for {@link #getDefaultForegroundTaskThreadPoolExecutor()} is used. + * @param name TODO */ - ScheduledExecutorService createForegroundTaskThreadPoolExecutor(); + ScheduledExecutorService createForegroundTaskThreadPoolExecutor(String name); } diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/FutureTaskWithTracingGet.java b/java/com.sap.sse/src/com/sap/sse/util/impl/FutureTaskWithTracingGet.java new file mode 100644 index 00000000000..95a807e7068 --- /dev/null +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/FutureTaskWithTracingGet.java @@ -0,0 +1,37 @@ +package com.sap.sse.util.impl; + +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.FutureTask; + +public class FutureTaskWithTracingGet extends FutureTask { + private final HasTracingGet hasTracingGet; + private final String traceInfo; + + public FutureTaskWithTracingGet(String traceInfo, Callable callable) { + super(callable); + this.traceInfo = traceInfo; + hasTracingGet = createHasTracingGet(); + } + + public FutureTaskWithTracingGet(String traceInfo, Runnable runnable, V result) { + super(runnable, result); + this.traceInfo = traceInfo; + hasTracingGet = createHasTracingGet(); + } + + @Override + public V get() throws InterruptedException, ExecutionException { + return hasTracingGet.callGetAndTraceAfterEachTimeout(this); + } + + private HasTracingGet createHasTracingGet() { + return new HasTracingGetImpl() { + @Override + protected String getAdditionalTraceInfo() { + return traceInfo; + } + }; + } + +} diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGet.java b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGet.java new file mode 100644 index 00000000000..91228d39732 --- /dev/null +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGet.java @@ -0,0 +1,16 @@ +package com.sap.sse.util.impl; + +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.TimeoutException; + +public interface HasTracingGet { + /** + * Keeps calling {@link Future#get(long, java.util.concurrent.TimeUnit)} with a timeout until a result is available + * or an exception other than a {@link TimeoutException} is thrown. When a timeout occurs, some trace output is + * written to the log. The method is guaranteed not to call {@link Future#get()} and therefore can be used in an + * implementation of a {@link Future#get()} method without causing an endless recursion as long as + * {@link Future#get(long, java.util.concurrent.TimeUnit)} is not calling this method. + */ + V callGetAndTraceAfterEachTimeout(Future future) throws InterruptedException, ExecutionException; +} diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java new file mode 100644 index 00000000000..8dd69e46750 --- /dev/null +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java @@ -0,0 +1,37 @@ +package com.sap.sse.util.impl; + +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.logging.Level; +import java.util.logging.Logger; + +import com.sap.sse.common.Duration; + +/** + * Can be used with a {@link Future} task and outputs trace messages to the log after {@link #MILLIS_AFTER_WHICH_TO_TRACE_NON_RETURNING_GET} milliseconds + * of a {@link #get()} call not returning. The {@link #getAdditionalTraceInfo()} method must be implemented by subclasses to provide some meaningful + * hint as to which object is currently timing out. + * + * @author Axel Uhl (d043530) + * + * @param + */ +public abstract class HasTracingGetImpl implements HasTracingGet { + private static final Logger logger = Logger.getLogger(HasTracingGetImpl.class.getName()); + private final long MILLIS_AFTER_WHICH_TO_TRACE_NON_RETURNING_GET = Duration.ONE_SECOND.times(5).asMillis(); + + public V callGetAndTraceAfterEachTimeout(Future future) throws InterruptedException, ExecutionException { + while (true) { + try { + return future.get(MILLIS_AFTER_WHICH_TO_TRACE_NON_RETURNING_GET, TimeUnit.MILLISECONDS); + } catch (TimeoutException e) { + logger.log(Level.INFO, "Timeout waiting for future task "+this+ + "; "+ getAdditionalTraceInfo(), e); + } + } + } + + protected abstract String getAdditionalTraceInfo(); +} diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutor.java b/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutor.java new file mode 100644 index 00000000000..ab7d0241a85 --- /dev/null +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutor.java @@ -0,0 +1,14 @@ +package com.sap.sse.util.impl; + +import java.util.concurrent.ThreadPoolExecutor; + +/** + * A {@link ThreadPoolExecutor} can be set on this object. This is used, in particular, by the + * {@link NamedTracingScheduledThreadPoolExecutor} whenever a task of this type is enqueued. + * + * @author Axel Uhl (d043530) + * + */ +public interface KnowsExecutor { + void setExecutorThisTaskIsScheduledFor(ThreadPoolExecutor executorThisTaskIsScheduledFor); +} diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGet.java b/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGet.java new file mode 100644 index 00000000000..300a6ecc1b0 --- /dev/null +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGet.java @@ -0,0 +1,17 @@ +package com.sap.sse.util.impl; + +import java.util.concurrent.Future; + +import com.sap.sse.util.ThreadPoolUtil; + +/** + * Can be used with a {@link Future} task and outputs trace messages to the log after {@link #MILLIS_AFTER_WHICH_TO_TRACE_NON_RETURNING_GET} milliseconds + * of a {@link #get()} call not returning. When used in conjunction with a {@link NamedTracingScheduledThreadPoolExecutor} such as + * the ones returned by {@link ThreadPoolUtil}, the task will be + * + * @author Axel Uhl (d043530) + * + * @param + */ +public interface KnowsExecutorAndTracingGet extends KnowsExecutor, HasTracingGet { +} diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGetImpl.java b/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGetImpl.java new file mode 100644 index 00000000000..92c05dff3d7 --- /dev/null +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGetImpl.java @@ -0,0 +1,32 @@ +package com.sap.sse.util.impl; + +import java.util.concurrent.Future; +import java.util.concurrent.ThreadPoolExecutor; + +import com.sap.sse.util.ThreadPoolUtil; + +/** + * Can be used with a {@link Future} task and outputs trace messages to the log after + * {@link #MILLIS_AFTER_WHICH_TO_TRACE_NON_RETURNING_GET} milliseconds of a {@link #get()} call not returning. When used + * in conjunction with a {@link NamedTracingScheduledThreadPoolExecutor} such as the ones returned by + * {@link ThreadPoolUtil}, the task will be + * + * @author Axel Uhl (d043530) + * + * @param + */ +public class KnowsExecutorAndTracingGetImpl extends HasTracingGetImpl implements KnowsExecutorAndTracingGet { + private ThreadPoolExecutor executorThisTaskIsScheduledFor; + + @Override + public void setExecutorThisTaskIsScheduledFor(ThreadPoolExecutor executorThisTaskIsScheduledFor) { + this.executorThisTaskIsScheduledFor = executorThisTaskIsScheduledFor; + } + + @Override + protected String getAdditionalTraceInfo() { + return (executorThisTaskIsScheduledFor == null ? "not scheduled" + : ("scheduled with executor " + executorThisTaskIsScheduledFor + " with queue size " + + executorThisTaskIsScheduledFor.getQueue().size())); + } +} diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java b/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java new file mode 100644 index 00000000000..049b7444a35 --- /dev/null +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java @@ -0,0 +1,75 @@ +package com.sap.sse.util.impl; + +import java.util.concurrent.Callable; +import java.util.concurrent.RejectedExecutionHandler; +import java.util.concurrent.RunnableFuture; +import java.util.concurrent.RunnableScheduledFuture; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.ThreadFactory; + +/** + * A scheduled thread pool executor with a name that produces {@link Future} tasks that write a trace message + * to the log after their {@link Future#get()} method hasn't produced a result for some time, then keep trying. + * The tasks are linked to this executor, also when a {@link KnowsExecutor} task is submitted to the {@link #execute(Runnable)} + * method, so that when they need to trace they + * + * @author Axel Uhl (d043530) + * + */ +public class NamedTracingScheduledThreadPoolExecutor extends ScheduledThreadPoolExecutor { + private final String name; + + public NamedTracingScheduledThreadPoolExecutor(String name, int corePoolSize, RejectedExecutionHandler handler) { + super(corePoolSize, handler); + this.name = name; + } + + public NamedTracingScheduledThreadPoolExecutor(String name, int corePoolSize, ThreadFactory threadFactory, + RejectedExecutionHandler handler) { + super(corePoolSize, threadFactory, handler); + this.name = name; + } + + public NamedTracingScheduledThreadPoolExecutor(String name, int corePoolSize, ThreadFactory threadFactory) { + super(corePoolSize, threadFactory); + this.name = name; + } + + public NamedTracingScheduledThreadPoolExecutor(String name, int corePoolSize) { + super(corePoolSize); + this.name = name; + } + + @Override + protected RunnableScheduledFuture decorateTask(Runnable runnable, RunnableScheduledFuture task) { + return new ThreadPoolAwareRunnableScheduledFutureDelegate<>(this, task); + } + + @Override + protected RunnableScheduledFuture decorateTask(Callable callable, RunnableScheduledFuture task) { + return new ThreadPoolAwareRunnableScheduledFutureDelegate<>(this, task); + } + + @Override + protected RunnableFuture newTaskFor(Runnable runnable, T value) { + return new ThreadPoolAwareFutureTask(this, runnable, value); + } + + @Override + protected RunnableFuture newTaskFor(Callable callable) { + return new ThreadPoolAwareFutureTask(this, callable); + } + + @Override + public void execute(Runnable command) { + if (command instanceof KnowsExecutor) { + ((KnowsExecutor) command).setExecutorThisTaskIsScheduledFor(this); + } + super.execute(command); + } + + @Override + public String toString() { + return "NamedTracingScheduledThreadPoolExecutor [name=" + name + "]"; + } +} diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareFutureTask.java b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareFutureTask.java new file mode 100644 index 00000000000..61b9fecacb7 --- /dev/null +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareFutureTask.java @@ -0,0 +1,43 @@ +package com.sap.sse.util.impl; + +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.FutureTask; +import java.util.concurrent.ThreadPoolExecutor; + +import com.sap.sse.util.ThreadPoolUtil; + +/** + * A future task that outputs trace messages to the log after {@link #MILLIS_AFTER_WHICH_TO_TRACE_NON_RETURNING_GET} milliseconds + * of a {@link #get()} call not returning. When used in conjunction with a {@link NamedTracingScheduledThreadPoolExecutor} such as + * the ones returned by {@link ThreadPoolUtil}, the task will be updated by the executor when added to the queue. When the {@link #get()} + * method doesn't respond after the timeout period, the executor that scheduled this tasks, its name as well as its queue size + * are traced into the log. + * + * @author Axel Uhl (d043530) + * + * @param + */ +public class ThreadPoolAwareFutureTask extends FutureTask implements KnowsExecutor { + private final KnowsExecutorAndTracingGet getHelper = new KnowsExecutorAndTracingGetImpl(); + + public ThreadPoolAwareFutureTask(ThreadPoolExecutor executor, Callable callable) { + super(callable); + getHelper.setExecutorThisTaskIsScheduledFor(executor); + } + + public ThreadPoolAwareFutureTask(ThreadPoolExecutor executor, Runnable runnable, V result) { + super(runnable, result); + getHelper.setExecutorThisTaskIsScheduledFor(executor); + } + + @Override + public void setExecutorThisTaskIsScheduledFor(ThreadPoolExecutor executorThisTaskIsScheduledFor) { + this.getHelper.setExecutorThisTaskIsScheduledFor(executorThisTaskIsScheduledFor); + } + + @Override + public V get() throws InterruptedException, ExecutionException { + return getHelper.callGetAndTraceAfterEachTimeout(this); + } +} diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareRunnableScheduledFutureDelegate.java b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareRunnableScheduledFutureDelegate.java new file mode 100644 index 00000000000..64b5bfeaba4 --- /dev/null +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareRunnableScheduledFutureDelegate.java @@ -0,0 +1,53 @@ +package com.sap.sse.util.impl; + +import java.util.concurrent.Delayed; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.RunnableScheduledFuture; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +public class ThreadPoolAwareRunnableScheduledFutureDelegate extends KnowsExecutorAndTracingGetImpl implements KnowsExecutorAndTracingGet, RunnableScheduledFuture { + private final RunnableScheduledFuture future; + + public ThreadPoolAwareRunnableScheduledFutureDelegate(ThreadPoolExecutor executor, RunnableScheduledFuture future) { + this.future = future; + setExecutorThisTaskIsScheduledFor(executor); + } + + public long getDelay(TimeUnit unit) { + return future.getDelay(unit); + } + + public void run() { + future.run(); + } + + public boolean isPeriodic() { + return future.isPeriodic(); + } + + public boolean cancel(boolean mayInterruptIfRunning) { + return future.cancel(mayInterruptIfRunning); + } + + public int compareTo(Delayed o) { + return future.compareTo(o); + } + + public boolean isCancelled() { + return future.isCancelled(); + } + + public boolean isDone() { + return future.isDone(); + } + + public V get() throws InterruptedException, ExecutionException { + return callGetAndTraceAfterEachTimeout(future); + } + + public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { + return future.get(timeout, unit); + } +} diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolUtilImpl.java b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolUtilImpl.java index 33e030e489e..9d686dbbaf1 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolUtilImpl.java +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolUtilImpl.java @@ -1,21 +1,18 @@ package com.sap.sse.util.impl; -import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import com.sap.sse.util.ThreadPoolUtil; public class ThreadPoolUtilImpl implements ThreadPoolUtil { - private static final int REASONABLE_THREAD_POOL_SIZE = Math.max(Runtime.getRuntime().availableProcessors()/2, 3); + private static final int REASONABLE_THREAD_POOL_SIZE = Math.max(Runtime.getRuntime().availableProcessors()-1, 3); private final ScheduledExecutorService defaultBackgroundTaskThreadPoolExecutor; private final ScheduledExecutorService defaultForegroundTaskThreadPoolExecutor; public ThreadPoolUtilImpl() { - defaultBackgroundTaskThreadPoolExecutor = Executors.newScheduledThreadPool(/* corePoolSize */ REASONABLE_THREAD_POOL_SIZE, - new ThreadFactoryWithPriority(Thread.NORM_PRIORITY-1, /* daemon */ true)); - defaultForegroundTaskThreadPoolExecutor = Executors.newScheduledThreadPool(/* corePoolSize */ Math.max(Runtime.getRuntime().availableProcessors()-1, 6), - new ThreadFactoryWithPriority(Thread.NORM_PRIORITY, /* daemon */ true)); + defaultBackgroundTaskThreadPoolExecutor = createBackgroundTaskThreadPoolExecutor("Default background executor"); + defaultForegroundTaskThreadPoolExecutor = createForegroundTaskThreadPoolExecutor("Default foreground executor"); } @Override @@ -29,18 +26,21 @@ public class ThreadPoolUtilImpl implements ThreadPoolUtil { } @Override - public ScheduledExecutorService createBackgroundTaskThreadPoolExecutor() { - return createThreadPoolExecutor(Thread.NORM_PRIORITY-1); + public ScheduledExecutorService createBackgroundTaskThreadPoolExecutor(String name) { + return createThreadPoolExecutor(name, Thread.NORM_PRIORITY-1); } @Override - public ScheduledExecutorService createForegroundTaskThreadPoolExecutor() { - return createThreadPoolExecutor(Thread.NORM_PRIORITY); + public ScheduledExecutorService createForegroundTaskThreadPoolExecutor(String name) { + return createThreadPoolExecutor(name, Thread.NORM_PRIORITY); } - private ScheduledExecutorService createThreadPoolExecutor(final int priority) { - return Executors.newScheduledThreadPool(/* corePoolSize */ REASONABLE_THREAD_POOL_SIZE, - new ThreadFactoryWithPriority(priority, /* daemon */ true)); + private ScheduledExecutorService createThreadPoolExecutor(String name, final int priority) { + return createThreadPoolExecutor(name, priority, /* corePoolSize */ REASONABLE_THREAD_POOL_SIZE); + } + + private ScheduledExecutorService createThreadPoolExecutor(String name, final int priority, final int size) { + return new NamedTracingScheduledThreadPoolExecutor(name, /* corePoolSize */ size, new ThreadFactoryWithPriority(priority, /* daemon */ true)); } @Override From e9d92d3593011407c8c09f1fdf6baf6ff0e4c497 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 27 Sep 2016 18:32:17 +0200 Subject: [PATCH 42/97] improved Future.get() trace message, indicating that a re-try will happen Change-Id: Id81c4f40a18e1f8290af3bccbb1b399b6e35bd01 --- .../src/com/sap/sse/util/impl/HasTracingGetImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java index 8dd69e46750..ce3ef8102cb 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java @@ -28,7 +28,7 @@ public abstract class HasTracingGetImpl implements HasTracingGet { return future.get(MILLIS_AFTER_WHICH_TO_TRACE_NON_RETURNING_GET, TimeUnit.MILLISECONDS); } catch (TimeoutException e) { logger.log(Level.INFO, "Timeout waiting for future task "+this+ - "; "+ getAdditionalTraceInfo(), e); + " (retrying); "+ getAdditionalTraceInfo(), e); } } } From 7c6ce2960b57a98cdc22c9131d4da7b49da4fa7d Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 00:54:12 +0200 Subject: [PATCH 43/97] improved Future.get() timeout tracing; use a default foreground thread pool size twice the regular size Change-Id: I8e8281c459354542006c253410b826a2b11e8b05 --- .../markpassingcalculation/MarkPassingCalculator.java | 2 +- java/com.sap.sse/src/com/sap/sse/util/ThreadPoolUtil.java | 4 ++-- .../sap/sse/util/impl/KnowsExecutorAndTracingGetImpl.java | 5 ++--- .../util/impl/NamedTracingScheduledThreadPoolExecutor.java | 2 +- .../src/com/sap/sse/util/impl/ThreadPoolUtilImpl.java | 7 ++++++- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java index 9814c6cb300..f1f449a0ff8 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java @@ -173,7 +173,7 @@ public class MarkPassingCalculator { + " while waiting for new GPSFixes"); } listener.getQueue().drainTo(allNewFixInsertions); - logger.finer("MPC for "+raceName+" recieved "+ allNewFixInsertions.size()+" new updates."); + logger.fine("MPC for "+raceName+" received "+ allNewFixInsertions.size()+" new updates."); for (StorePositionUpdateStrategy fixInsertion : allNewFixInsertions) { if (listener.isEndMarker(fixInsertion)) { logger.info("Stopping "+MarkPassingCalculator.this+"'s listener for race "+raceName); diff --git a/java/com.sap.sse/src/com/sap/sse/util/ThreadPoolUtil.java b/java/com.sap.sse/src/com/sap/sse/util/ThreadPoolUtil.java index f7df48fa45b..71a942b31d3 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/ThreadPoolUtil.java +++ b/java/com.sap.sse/src/com/sap/sse/util/ThreadPoolUtil.java @@ -51,7 +51,6 @@ public interface ThreadPoolUtil { *

    * * The same configuration as for {@link #getDefaultBackgroundTaskThreadPoolExecutor()} is used. - * @param name TODO */ ScheduledExecutorService createBackgroundTaskThreadPoolExecutor(String name); @@ -74,7 +73,8 @@ public interface ThreadPoolUtil { *

    * * The same configuration as for {@link #getDefaultForegroundTaskThreadPoolExecutor()} is used. - * @param name TODO */ ScheduledExecutorService createForegroundTaskThreadPoolExecutor(String name); + + ScheduledExecutorService createForegroundTaskThreadPoolExecutor(int size, String name); } diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGetImpl.java b/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGetImpl.java index 92c05dff3d7..288ebe998db 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGetImpl.java +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/KnowsExecutorAndTracingGetImpl.java @@ -25,8 +25,7 @@ public class KnowsExecutorAndTracingGetImpl extends HasTracingGetImpl impl @Override protected String getAdditionalTraceInfo() { - return (executorThisTaskIsScheduledFor == null ? "not scheduled" - : ("scheduled with executor " + executorThisTaskIsScheduledFor + " with queue size " - + executorThisTaskIsScheduledFor.getQueue().size())); + return executorThisTaskIsScheduledFor == null ? "not scheduled" + : ("scheduled with executor " + executorThisTaskIsScheduledFor); } } diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java b/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java index 049b7444a35..c9a240897dc 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java @@ -70,6 +70,6 @@ public class NamedTracingScheduledThreadPoolExecutor extends ScheduledThreadPool @Override public String toString() { - return "NamedTracingScheduledThreadPoolExecutor [name=" + name + "]"; + return super.toString() + "[name=" + name + "]"; } } diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolUtilImpl.java b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolUtilImpl.java index 9d686dbbaf1..61576bd0520 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolUtilImpl.java +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolUtilImpl.java @@ -12,7 +12,7 @@ public class ThreadPoolUtilImpl implements ThreadPoolUtil { public ThreadPoolUtilImpl() { defaultBackgroundTaskThreadPoolExecutor = createBackgroundTaskThreadPoolExecutor("Default background executor"); - defaultForegroundTaskThreadPoolExecutor = createForegroundTaskThreadPoolExecutor("Default foreground executor"); + defaultForegroundTaskThreadPoolExecutor = createForegroundTaskThreadPoolExecutor(2*REASONABLE_THREAD_POOL_SIZE, "Default foreground executor"); } @Override @@ -35,6 +35,11 @@ public class ThreadPoolUtilImpl implements ThreadPoolUtil { return createThreadPoolExecutor(name, Thread.NORM_PRIORITY); } + @Override + public ScheduledExecutorService createForegroundTaskThreadPoolExecutor(int size, String name) { + return createThreadPoolExecutor(name, Thread.NORM_PRIORITY, size); + } + private ScheduledExecutorService createThreadPoolExecutor(String name, final int priority) { return createThreadPoolExecutor(name, priority, /* corePoolSize */ REASONABLE_THREAD_POOL_SIZE); } From 3703571a1500d6f96689c19096bb5d7ed98916da Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 09:41:48 +0200 Subject: [PATCH 44/97] simplified code by using Util.addToValueSet Change-Id: I942ab74cbd46988fde8e5f6ca53aa466050f1a7c --- .../impl/AbstractRaceExecutionOrderProvider.java | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceExecutionOrderProvider.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceExecutionOrderProvider.java index 07da1de7bed..0ed1148759c 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceExecutionOrderProvider.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceExecutionOrderProvider.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -13,6 +12,7 @@ import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.tracking.RaceExecutionOrderProvider; import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sse.common.Util; import com.sap.sse.util.SmartFutureCache; import com.sap.sse.util.SmartFutureCache.EmptyUpdateInterval; @@ -57,13 +57,8 @@ public abstract class AbstractRaceExecutionOrderProvider implements RaceExecutio for (RaceColumn currentRaceColumn : raceColumns) { final TrackedRace trackedRaceInColumnForFleet = currentRaceColumn.getTrackedRace(fleet); if (trackedRaceInColumnForFleet != null) { - Set previousRaces = previousRacesByRace.get(trackedRaceInColumnForFleet); - if (previousRaces == null) { - previousRaces = new HashSet<>(); - previousRacesByRace.put(trackedRaceInColumnForFleet, previousRaces); - } if (previousRace != null) { - previousRaces.add(previousRace); + Util.addToValueSet(previousRacesByRace, trackedRaceInColumnForFleet, previousRace); } previousRace = trackedRaceInColumnForFleet; } @@ -96,11 +91,13 @@ public abstract class AbstractRaceExecutionOrderProvider implements RaceExecutio @Override public Set getPreviousRacesInExecutionOrder(TrackedRace race) { - Set result = Collections.emptySet(); + final Set result; final Map> previousRacesByRace = getPreviousRacesByRace(); if (previousRacesByRace != null) { result = previousRacesByRace.get(race); - } + } else { + result = Collections.emptySet(); + } return result; } } From 4c39ed417a3a93e7ab1a58fe192aa75bfe69b977 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 09:42:26 +0200 Subject: [PATCH 45/97] fixed logging the right Future object Change-Id: I3f599dc68e7171aa065b6393369087f480ff37a5 --- .../java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 84defeaeb0b..420a98df543 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 @@ -2173,7 +2173,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S } else { actualTimePoint = timePoint; } - RaceDefinition race = trackedRace.getRace(); + final RaceDefinition race = trackedRace.getRace(); int rank = 1; final List competitorsFromBestToWorst = trackedRace.getCompetitorsFromBestToWorst(actualTimePoint); for (Competitor competitor : competitorsFromBestToWorst) { From 31cccdcdb62e1e49d2f36dfe3cead37ad80c68b0 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 09:42:59 +0200 Subject: [PATCH 46/97] trace the right Future object Change-Id: Ie1e99e2139a37580d4e0b07d3a0c0592bfec4aaf --- .../src/com/sap/sse/util/impl/HasTracingGetImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java index ce3ef8102cb..f0d0b1aedd7 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java @@ -27,7 +27,7 @@ public abstract class HasTracingGetImpl implements HasTracingGet { try { return future.get(MILLIS_AFTER_WHICH_TO_TRACE_NON_RETURNING_GET, TimeUnit.MILLISECONDS); } catch (TimeoutException e) { - logger.log(Level.INFO, "Timeout waiting for future task "+this+ + logger.log(Level.INFO, "Timeout waiting for future task "+future+ " (retrying); "+ getAdditionalTraceInfo(), e); } } From 162267bddc092416e5cb14e23c08f7f1027ca5fb Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 09:43:16 +0200 Subject: [PATCH 47/97] moved lockForRead() calls before the try block Change-Id: Ia45d579c9c9dc9a29f5dff8b208b07ca846bbf88 --- .../markpassingcalculation/impl/CandidateFinderImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java index c15b26cfaa9..1756c2c96a0 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java @@ -513,8 +513,8 @@ public class CandidateFinderImpl implements CandidateFinder { private Set getAllFixes(Competitor c) { Set fixes = new TreeSet(comp); DynamicGPSFixTrack track = race.getTrack(c); + track.lockForRead(); try { - track.lockForRead(); for (GPSFix fix : track.getFixes( timeRangeForValidCandidates.from(), /* fromInclusive */ true, timeRangeForValidCandidates.to(), /* toInclusive */ true)) { @@ -542,8 +542,8 @@ public class CandidateFinderImpl implements CandidateFinder { affectedFixes.add(fix); GPSFix fixBefore; GPSFix fixAfter; + track.lockForRead(); try { - track.lockForRead(); TimePoint timePoint = fix.getTimePoint(); fixBefore = track.getLastFixBefore(timePoint); fixAfter = track.getFirstFixAfter(timePoint); From 057610c059915e3eb9afbe8b0879bea91c4a8b47 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Wed, 28 Sep 2016 10:01:04 +0200 Subject: [PATCH 48/97] added energy consumption wiki page, renamed data consumption wiki page --- home.md | 3 +- ...-of-mobile-apps.md => data-consumption.md} | 0 wiki/info/mobile/energy-consumption.md | 101 ++++++++++++++++++ .../energy-consumption/Comparison3G2G.png | Bin 0 -> 41427 bytes .../energy-consumption/ComparisonAPIs.png | Bin 0 -> 41980 bytes .../ComparisonConnectivity.png | Bin 0 -> 65497 bytes 6 files changed, 103 insertions(+), 1 deletion(-) rename wiki/info/mobile/{Data-consumption-of-mobile-apps.md => data-consumption.md} (100%) create mode 100644 wiki/info/mobile/energy-consumption.md create mode 100644 wiki/info/mobile/energy-consumption/Comparison3G2G.png create mode 100644 wiki/info/mobile/energy-consumption/ComparisonAPIs.png create mode 100644 wiki/info/mobile/energy-consumption/ComparisonConnectivity.png diff --git a/home.md b/home.md index 58e73df956b..2ff9a805a82 100644 --- a/home.md +++ b/home.md @@ -54,7 +54,8 @@ SAP is at the center of today’s technology revolution, developing innovations * [[Administrator|wiki/info/mobile/racecommittee-app-administrator]] * [[User|wiki/info/mobile/racecommittee-app-user]] * [[Android and Release Build|wiki/info/mobile/android-and-release-build]] -* [[Data consumption of mobile apps|wiki/info/mobile/data-consumption-of-mobile-apps]] +* [[Energy consumption of mobile apps|wiki/info/mobile/energy-consumption]] +* [[Data consumption of mobile apps|wiki/info/mobile/data-consumption]] * [[Mobile Sailing Analytics|wiki/info/mobile/mobilesailinganalytics]] * [[Push Notifications|wiki/info/mobile/push-notifications]] diff --git a/wiki/info/mobile/Data-consumption-of-mobile-apps.md b/wiki/info/mobile/data-consumption.md similarity index 100% rename from wiki/info/mobile/Data-consumption-of-mobile-apps.md rename to wiki/info/mobile/data-consumption.md diff --git a/wiki/info/mobile/energy-consumption.md b/wiki/info/mobile/energy-consumption.md new file mode 100644 index 00000000000..d38e31c592f --- /dev/null +++ b/wiki/info/mobile/energy-consumption.md @@ -0,0 +1,101 @@ +# Power Consumption Of Android Apps + +[[_TOC_]] + +## Introduction +This page documents energy consumption tests of the SailInsight app in various scenarios. It is a crucial topic to consider as tracking often goes on for several hours and it would be desirable that the phone lasts throughout the whole session. + +Though there are many opinions which can be found on the internet as to how big of an impact GPS or cellular network has on battery drain, most of them are very vague or do not comply with our specific usecase, so more abstract observations had to be done, see our findings below. + +For further discussion on the topic there is bug [#3883]( https://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=3883); you can also find detailed measurements of the initial tests on this topic [here](http://media.sapsailing.com/SmartphoneLogs/energyTracking.zip). + +## Testing Methodology + +Monitoring energy consumption in Android is not easy. Detailed statistics can only be obtained from the system if you have root access from Android 4.4 onwards. Information like what app is responsible for what portion of the energy consumption is either not available in APIs before 4.4 or would require rooting all the testing devices. Since that was not an option we decided to monitor the general battery level over a time of 2 hours to get somewhat representative results. We made sure that the phone was only running the regular set of background activities and no unnecessary applications. + +Having decided that, we wrote an EnergyLog class that you can find in com.sap.sailing.android.shared.util on the “bug3883”-branch ready for future testing. It is able to monitor the following data by itself whenever `addEntryToLog` is called: a timestamp, the battery-percentage, battery temperature, CPU usage and GSM signal strength. Instantiate the class once for every log you want to write and when you are done logging/adding entries call `writeLog`. You can also monitor GPS accuracy and the amount of satellites used for finding the fix. This is useful if you want to measure energy consumption in the InSight app whenever `onLocationChanged` is called. + +### Location APIs + +Differences and considerations +There basically are two APIs for gathering location information: The "older" LocationManager API which is available in every API level, and the FusedLocationProvider API which works through the GooglePlayServices. The latter was used for all the Sailing Analytics Android apps and is also available on every phone in theory. Sometimes the app requires updates of the GooglePlayServices though, making it an additional hassle that could be avoided by not using it. Also we experienced issues on an Huawei Honor 6 device with Android 6 while using the InSight App when the phone was locked. The phone did not provide location updates anymore, which was the reason we looked into switching the APIs in the first place, since everything worked fine with the LocationManager. + +Furthermore, you can specify the LocationManager API to only use GPS to determine exact locations, while the FusedLocationProvider API only takes criterias (such as the need for high-precision location), but it will fall back to unreasonably unprecise location fixes aggregated through WiFi and cellular network if there is no GPS connection yet. + +The only advantage over the LocationManager here is that getting a coarse location as the initial fix can be much faster. + +Unprecise locations are insufficient for Sail InSight and Buoy Pinger though, so waiting for a fine location instead of accepting an unprecise one should be the way to go. Thus the API used in these two apps will be switched to LocationManager. +As for the Race Committee app, unprecise locations will do here, since those are only used for setting wind information. Therefore, FusedLocationProviderApi grants better useability in terms of the speed of finding the location. + +Battery drain aspects +We tested both APIs on three devices over a period of two hours. See the results below. + + +As you can see above, the difference between the two APIs is relatively small. Moreover it seems that on some phones, one API has less impact on battery drain than the other, while on other phones it is the other way around, though this delta is probably within margin of error. So switching APIs really has no impact on battery consumption. + +### 2G vs 3G connection in good network coverage + +There is the common opinion that a 2G network connection drains less battery than 3G. This is only partially true though as in certain situations it is the other way around, especially in situations without good coverage (which is the case while sailing on the water most of the time). + +See our tests in a good connection state below - again tested on three devices over two hours, the devices set to only use the respective network. + + +The results show that for the Sail InSight app, 2G does not consume less battery in any case. The difference again is very small and probably within margin of error on two of our testing phones. Interestingly though, on the third phone, 2G actually drains the phone's battery noticeably stronger than 3G. + +A possible reason for this might be that sending fixes takes longer on a 2G connection due to the lower bandwidth - leading the chip having to stay active longer each time a message is sent. Again, under hard conditions with problematic connectivity this would probably be the other way around. + +### Comparing different message sending intervals and also good and bad connectivity +In order to simulate a weak cellular connection often found on the water - constantly changing 2G/3G/4G networks and signal strengths; even signal loss from time to time, we put the phones in an elevator. On the top floor, there is a good connection with 3G, the further down, the worse it gets up to no connection in the basement. Here the phones are sometimes able to catch a 2G signal, which is also not that strong. +For comparison, we also put the phones in a well-covered area. + +As message sending intervals shown on the X-axis we chose the following: +immediately, 5 seconds, 10 seconds, 20 seconds, 30 seconds and 5 minutes. +On the Y-axis you can see the consumed energy over 2 hours. + +See the results below. + + + +What you can see in this diagram is that battery consumption will drop with increasing sending intervals, no matter how good or bad cellular connection is. The most significant differences are observable on intervals ranging from 5 to 25 seconds. The difference between 30 seconds and 5 minutes is negligible, so is the difference between immediate sending and a 5 second interval. + +When comparing good and bad connectivity, the graphs mostly confirm our concerns: The battery drains faster on most phones when exposed to changing cellular network or frequently lost connection. The phones consume more energy when they have to compensate for that with booking into other networks, reconnecting and so on. This means that tracking will use more energy under real conditions than in synthetic benchmarks on land, where you usually have a better connection. + +Some phones though behave unexpectedly on a bad connection. The S2 shows the exact opposite of the expected results with the battery consumption being lower under bad connectivity. From this we can conclude that there are phones which are able to handle these bad conditions better than others or even get an advantage from it. When a phone is booked into a cellular network for overall less time it also consumes less power. But seemingly the expected increased consumption for booking in and out of networks is not present on some phones. + +## Conclusion + +Generally we have to say that energy consumption heavily depends on the phone itself. On some phones the app would still be able to run 10 hours without optimization, on others only 4. It also depends on the specific device how effective energy conserving measures are. +GPS fix interval + * different GPS fix acquiring intervals do not make a difference in battery drain + * they would if the interval was much lower - say 5-10 minutes upwards + * this is not an option for a precise tracking app though so there is nothing which can be done at this point + +Connectivity state + * better signal strength leads to a lower required transmission power by the phone's antenna + --> a solid 2G connection is better than a bad 3G connection + * the longer the chip needs to be active, the higher the drain + --> the faster data is sent, the better + --> 3G is more economical, if stable, especially with bigger data batches + * frequent signal loss forces the phone to constanly try to reconnect to the cellular network + +Message sending interval + * the main thing where power saving measures can be applied on all phones + +Heat + * heat will have no short term influence on battery life on the current cycle + * only long term influence on battery degredation + + +Resulting actions going forth + * send messages _only_ as fast as necessary to still provide a reasonable experience +* intervals between 5 and 60 seconds are imaginable as a choice for the user +* provide a setting in the app for that - possibly displaying an educated guess on remaining battery life with each setting; taking into account the following: + * the user's device (battery level, capacity, average idle power drain) + * statistics provided by the backend (how power-intense are the different intervals on the average of devices) + * possibly taking android-provided expected time into account - see Intent.ACTION_POWER_USAGE_SUMMARY + +--- + +Authors: +Adrian Riedel (D064867) +Daniel Wagner (D065058) diff --git a/wiki/info/mobile/energy-consumption/Comparison3G2G.png b/wiki/info/mobile/energy-consumption/Comparison3G2G.png new file mode 100644 index 0000000000000000000000000000000000000000..865d117e766dcea2bad94a2041a42a54c39f56fc GIT binary patch literal 41427 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㪎jT&Sf6R$8)=HA>BBB4$AY@I5%vc-hMYaV+< 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%0D&C9+d*MMOLRqbJtV+fg9G2! zLPvn;zNDfmK9%#ppC*U8iv2kyIR5D6o-M9V%$prx8_r-)FIu9)$Oqt)M?GuUSp%p| zv&^6(U}~o&c>D6F^_opSVm^!isUJ@kFSMKuqI2zs_#MiRfzz^}A@Ztx6 zbLQ8vy+W3>=G9?lQa64=jik-a&~q3C_;yev526QL9bsugL<55W++C|>6u*uyzb_Ax z!!|yOFP+9@CF)BZ0kE6i6$Q7swAcn3 z?$w>7Z_bh{?N3t@>+pCJHVMrToXTv&wdGncBwTC5-Es@O>K%899Ha8;qtHBJux=TC zyQ%rFQqV*E>kJK$qq|6NfxHO4zU8ryI&o_x;W?b}A6)GcvF%$|H9z%Is|1 z{MvtukHox1K&pJu_DC~iSevBRw~Q-#BW^i0-Y$dTl+}4iBsi(gc$eGEA$l;V3Nx`J z^?nE-e~U1->zWQZZhhq`s<5=An7(7@cV2_IPQn^onH;%<&YHO%ch4sWiL3(xsbf`JC^Uyh}Imp*ziZlmS;^BZek4>4n?(as;DB0(X*4%2c1 z$P$FS;!AWs4U$_Q`E758JNFHgp#v%|tS@CkO(GyF-mrKOp9zXR?DmMi>;nL>Ls0EIxj4eG zpzu139a0&Md;UY8K`J6;yEY`0baGv3!W#aCe4QQGW^$b?Y}g#o<-^#4ACA~Q_B*6f zE(RKY;QrwHMgY_>+45ccLxCv{iP#1MhR95wf<^#$#k=qdb98jo*jj>Jv+{4R0vccBT?=Y7Kd9Y&Vw-8+4c&3M-{o9Jx=PqY#R_6 z;|(3hV~shB-nkAS@T6Qvw6<(CKs5dLjew~6;yf^;UhLGx^Fe(~k3O(5o+{Ybt^Gbo z{RMPDE5EU~{>>$w`(`b%+Y6jR3?@M71R#aj`3)ug->5w_w&gjYC>U($O8VabjD5q+ z9PCz9as=tdN4MR!K-Pk>3gm48>E-qN0Z`q_4p4vfG&bc`(p*`8@0!otZlT3)k~C?~ z;eNtc!NADel5)8_rg)@cI|>)tT7Z>$kgiH$i6)F6hzjc0QHbAr3S84X_tE0?KU^~p zuDP(=HQ$;5wz%_a{^8FD8LD)E$2qy%BS1^Xs6BwdmoTrVI?x!PGZAco(o1)KG4y?e zPH*uColZFmv};za$h2XMHtUQE&$_4F&Z-bzNWcn_ij6I_C6?&XQ6uKG*Z`pTJ%8)6 zsR#Uv$mf1yZ4QUIVBSfUN=}1C;F@dEjW& zgWC~Tc%${oU~$tqERffW&~ZLX@i9FOPlX@xhV;l1$QVN0Z=}$G4^@|COs$#Qy0y|1Yj+dIA;zGJqXO zz*NPz1#}_j^D1FK0N=5{r#Rp-d_oy?YJjT`egBFfXnT=e+Dcj!ps-q~B0iJ!*YN&b zx+4kV=PV%^3u0a z2aBh-p;gu@wl4=QD&$*<3j>&P@Go$LQ;B7Q$u3{6Yg3A8RqzHO#TBpErT*xDxVpF7 zPIHI}F}$C1qA?J~`*Ltw1e^eZJS6W0t6O^@S#-I7_sc*{)RsX!G{7D)1m=mJ>DLNA{7sAnqS~XRpK&Up`X+*}N~)5j(FTC~Fb40yrlTk- zL-i<&OICpR_^4~416YfxtN?*<9OBw}1w+Xu03U#DN+iS^4MI2oQWyV=e>TR~T)t@w zr7_!YNn_qj-VluSz8_vrrad@-rb2WxRzVW~elNyQ4aN#$ViuK41K;5;p-G_Z*1oNr z2L8~N0tkxrAh4>Iu4>>MphgmVq#O%4D7;muH&F8}NO#63L~i+x$BU$3@8dl4MVAeL zo5cx{n-UW*gl=xecZ*d<^A4L6>_8%a$hYgRHFag@*UD3;Sa01ose+vaP5Ylec* zPLQmQ0p*$2lh4T+Hq!?}L^nyd{_#>kp+GtI;3%=yUChvqknh^! z-T_&MVh$)*9fTFod3lgR(ZLnAzhYZP51?k?YULHuwpd|7K_+dqK%spMOWtZL9&Qx zPmX2!#)fm7rDo<$kO4u71}f7Vkp%_F(lFh{E{pLXs+Agw!5~3Any?Ot=sMLPm@o%m z)BoDx{`(96eC){&{1cE>rhX;EWToV6OZO4RR?Hh)kn^xmQ04QLxp>R)z@0Xf5Sd_6 zMWDt&m18*e=hRMHYzPX#7Ff^OEJxj~sorVV1f5&5+Y|+}c)i)bL2G#0`?sn^_@I}7 zC_#7)>KNDxo!^E$#Ls8YJQ(61($4-H+>ofKDjXFdv!jAy14(u?XbW9)x1e$JDSir`pZ=oOl3zKeV zHULE!=(GE@$F3zYgl^HKkqQvaD!|2tEvkPSMmWj=|6 z8nBz@&jYkyy8M=|fTtS?lNoa4EvB+y8}lq7VQ}?pkesrzkKCp30G=AwO#C4)JDqz! z@-fi{b4OYHa1G0~U;QAZVZQ2CM;hRt!ND*)-jk7NV~*3Cj{sQcGym-zIX<#z0V)|4 zZp^#HpVA&UX$oiuvgdIs9DY@E-$fYMzG=>I#ODTRkAOqg@PAW2I1Z{qC@+S{-7&(9 zjhgPo|5~G`c7x^KB}VaU2k`%QGUSqD!T)PdY{J@|e_dVwiTeNYC%BayNS<)NWb+Ug zX4-WQW`cf~nw(Ztv;m(;0uEv@%muO~LBk8%Yo zytCGcj6*C$jv*!PIrd`OQw|CW7B=ZG7S%6@xtRL5(a05d1vD7WCf<*uA^t+H)F|3b zP2Fh%4=<{Rg}Eg8lb@0+Mg=Gu%u*S}(bUAYo=y>Mw)D=-pVJtrARa*7xvLvhs=Jz` z6P`k6bc{yEvfJc^O+BGy0T6EFmrxY~U6BhDrvrn0I5J>l;%lnz)FL z_h(uzljtVtgerUcziUzFJNx))bDBxfcjb|#9RA>TwFp?Xf}#N`#>pky?Yky#`@7Im zUe_F6I~}N~7ptJu!=mP4d3BpT{+4x@kE`?WRtt-M85%>5269v!4{g82u!=d6&E8_5 zB^WkdJ1a9OcpZrx8`~x-H@v+|_dA`Dj>haAmV=k8m|SOL9(pHpwSl_FiTAz~Wgz_v^CaQx;>65_V2mhbrOOF0PfHd{QGyW=K zAfQF~+am}1&t%Zp&QkaHECocKbssOJ;2!GgXk)oG%qbwfY zgQYVwgR(xQTqxkBLFlcV-cT0X)LTtJn{$*3(+_$$nPK@5Q2C*O&iD zVTg<6YEGQDy3kIu7ZV)mYGk97&~8O8VPTCc!q%^L)Haw<7sd5*2$Bg!@i-eN7YVd- z$F?~o-c|L9dnYq?v(?W2+;qdeS*Iz7v2TO-#??jw`2=0QS!io^w$9Srh-*W%XJAI; zd1FHs?Jjo(P`3-$xyvn2Nl6DH91RkWXI)q<)KB@8oQ^~}sp9+7p?|);(Y5fG?jo;o z;)|$!cZQ)PS(%a=v4+d_Ft%%MNhEM4_f!k7S7YYE)mJ-MeiT*5-a<4gGt53U|EXy3 zQM+9t1IzT_xc(=O%MQHeHjNUm-Ufrw49j$Qlb_ermysCczPJ6!xy;Ir{!3G^{0{!E zfS7h8CDYt=VYs$NJ59IqIsNS1*RAG^9%sYru98tcZby{B?`o(gJoJ8T5{`W^k+!!Q zzEV&Tw(^r3F>KASsMxk*%OmsROm#_4G;=y>!&QC9cEiSV2N@8puB3lU2Heg_Z#ib$ zsxva+=+7?4GWZsQjC6c2QI^;AaO|LeK=hE|Y_zk>v%9w@Oe{`!yJx5Hoi)>%MAY^0 zx`ip(=qd$s1q=B52Q29Y!6H)l-rSlAs5F}D91@0=2pS_Iu#`4=v)YqpTp!Y^N5{tG zjb?xJA|f|m^Z-$|Aa5*_c_nO7Zd%c&sok`0Okf&!F#CO16ND6eaLVAJG{B( zXx^OWWH0B3)arEnqc*pz0oj)x<;Q>0f+EvG_&_SyWf&Y+~0h%$z-RI;Cm-rA!{RMSJt_pnpxAiwVD3cg)x~;QTXjBQ{9=ZsxUtdI3zg2U z4Z@u=7V3rp&ig+iKzY&+&32W#i79lIvs!3{@mVr5WB6>Zyz$cg)&$cb`BuILH26j- z{V)4${W8DTO-XEYc|;ZpF3F&H4?B~jla@j^ zNOFGY&IKDC3)ESmrjo%kXj^ytY}g{3HL*E!m0e|n4So0+_=r>JTiyH*z#vlkVB^)$ zV>eUcVoS9@hMHDMwcd&0+jH0_`;M!9GS`aWXj6Z*7pnbb;RxjrR$zjgDbGB@pdqZ@ z0p(`-4IB@H_tScRtEduu`S2OWQ}~}A2mJr=Q-Pg1?(gstI{+~!SdXdBqxe8Tr9(vg zdcNHxZJABGS315^>Q>#H>?>;vVgWm6AzoyiP4}dJB%)i4!aH4;fJ71mt@Ut?^ z$C=9lH_I{quu<0P5#yPV?!V&2GM6Z{(1~s2anR!i!j@!kYSVFEh{)uWXuAbw;rz7h zvq?cB75;4G;i{-%wg3g8dLN4K!5x7nD?X{qZ+ur-Lv`4^lpmeRRd8AK8Sj@)9|$Ya zJ*Pz>k~%;t=lS{$5*M$xkH|#~^Dc=vf(_EQV{)%?MGpIb62dzOu0z(B zLO+@s>DuJfm&FFNl8BPIBYTJFoTg@iX{27o?Zx1fSYpLcp#pvN;)n9b*{FaI5nt7_%;SO3(|qPQkDbA(Rr@?7C?ccYTr>apgZ#_$2T zx9XrC;R`I!L3*}Pu3)#?d|Fl(6o@F7q9OEqCpTw#r z(<#N6do(BE+&eW#;3p2U3}l$q&fOPE5BMwO)UA z<5=xW%hMwDa@c%$%@|WIpKQ+&t6vw)jp-r`{W{M(d`ie18RE=ae3+miWb#MgC?#(v zC!3p;18anp5I1_Hcc@Ipk3Clc){|~Iaq5LJmurcQerj!oY)oUrezS~oo_6~%N9bLe zvY7jsQa;bnME0MVP$c1EM~RHdQ-7{L@oZeLwz7o0F`I)Jg`u~f^_!?H-d+9Gx1D%vbLlB*rGZ57E! zbUj=-8e_@PFAvW)8B*kupOF>)TwNXL*ftyW(|x**FMW*n=gN3 zESnBVZO0IBTi29uGYwaEs|oMLqdk`!gg&30vJL*rPSQc)uO@e~h+8il1fTTFlIY|+ z*9#a!4LL&Dl%1e<8?9D=?x#5?Eh{r7oIFDlq=0-$6Gg-pM<%K~BH00|^U@UOEi?pi zax%h!^XMVJUa9ZDAMJcy@`1%VO$wTH_=QKqh$~NT<50riy1NcVrX?^)pR(#6!({4c zTQ;Wc@5q#w9^~(&N*W;V%j|E`$V{hZ&x5B3=-}TW$Edl zO1AY!Z~&^_@w4CRNXz;bo{4>wG)SRex2n~l-v@tiB4*pR^Z|*#c^vdDv zoT9FzZA;R<`6)&R?V|jgaJY9x8B{WzhVvx2-#5IY_a?V&)kW^N3X0INgYSIj0^J_8 z(8hUrncbWon zQO>FjB|SY<^#^53Tz1(LvR);5%hL~%b=8ZgMXd5xSD-fc5hBe~8xn>GU*9t&Vf0-#Fomh)ojy!h)>^H6z;!qSGQ?q+p=JO4(5mR)G6zhoq{*(zvxYU@XY2|paO zPwKdr-M-R81WqEVEB#w7H&BEP)KqK({TL5@?~klZS`>-=52{qYvl4<_uSHFi$~46<#)hT;YHT^M}+D5p+#h&X$#_iVM)MKn@+P}d@@Lpm-D zs>XG^T~A4U!S8NU2O`4!kbz7p_JWq$O|f>?PcU~wCRwgqR`_Ec(b=P&dXL7XmE^{_ z4<1jDhO3V~>l!i^k=Frf;SEzE<4lc&7SaR~9# z&2Tm2Jc%?b)D!vq^2vvIva6Cclao~a`(fp?+Ge@gZ~DD$0?34Lxeh>rrCHy(6P%fFsO#fkB>x&cjrOl_6 z92cmhe>UhPeCV8}v{DzfSP+93=ZI*z;G6Eyyrt>6MzihJN6TjvDi0`ufGU{ z-fQwzEMEFix39-m|MGXrO0-XQbh`nP4f!2fgK6QUmZXRIjvNnqeMZ;j5Qh4_ui~AB zQ(ndON)iQvQ32qgB5_Sq;*s7K-cneB@kD zgip)>BI4!kSz$Wk12(|A8>$ zcyeTn9G{rfg6*l!{pU*1YivVMsTx%5ZgNKM8T7?>ar~uxC-eHugskjC#E{GfiPCw< zq-%xgn+>&=9Zh@e07Ktu(Z_Wgh>gL)h_*fLHARyj^MAE_5469kVOH(tbj%DroLr&} zhA0HAK4bS!^u_nrANr-^Z?XEgGgKL^CRA+M&Z$>lRfbKTW;}&U<~{nyD*DaQv87X4 zb@H;g^=9VftC7n*BNZuGiFJ{vkaHB&KP>K2D#VW2MvW_w|w^Y z0z(zr=M|SJH&|5eGM9l5vs;|jGmPsp^!my<#4YGtucXnSHo|Eh8Qqw-uSO)lx(nx- zQc?8%Zx2ciRLN4EK)Pk8$(!7s)mFY67WxA-&ux@!M`7HZ>SmItj6j(C+x|-D#f&*d zN5dSHZI|a(i8#Tc`dc&?!o zrWhrcawj49VjWGCRYYsQ^o8Q`(~GG2p|WqZdehhgNjlc3AHyWT!N|n@b$ZCQ@9}pb z^ISfjCi8B@VSz94Gc;cf7~2k#NpJ-T$%J zx!0$x92Mz_s|~m@VWY?G0nUexJXv{8^L5viF2yksygeC^4sX{rD94@2#9a$={U#u{ zbeQcJ#kY(AdxklxV*#V_&8i&27FKo_ekvKVK95Ab=xG$Uu{`hI6%4()#D28=zIs0N z>Y$~!$-1_3F5#2l{7M{4^r3wbpP4%&BDudxS-NviKR1sbYK?ni#^l*pqkBs9W{$55 zQaJspHBa6R(93uAZ<#%K|J0UJC>N7WPLWls8QQ=M))lpgV)W!ZzL&YlkKRI zJP-L(a2CRwK zV8r#X;|X+Hdk$|1qQLWjafF-pwQJ}knyehiKYGcBXDZGGNoI(D^7 zKJ&d~%o$gdjHsydo9pVnpjVJAjq{JUxRTZ8!()34UAc3XBrA@GY*EE8*hyDDL@O?Mp|PnQmG_QbvJbQJJsM zpAccwZzalH5YbQXSa!amF{Z4B1pB*R=HDv+5~fb5_$5#Ew)nBem_oGsKsC}rNNwo+ zSmw-g|H|xmW0b>%g+XS{U*u$|570Kp9qe8&km?r?9xgkk{~-;|IZUFNR?I7)Utnq> zofh!--6`t(v(Y1mqD~;s()J%DGFw3SOObkL!^d$(Uwe(;wwO0CD3gz$&%3bM;tC9k zxz{4zBc{t?tC_XwOmZbQPKb;RijZS!7m^y;2HZ>f4|kMYf4;n#bp{pXRTx5rri zyA;5Gn>*O%M)=!A8*B&9v?zg~FhS;;x2>#}9W-K4>5X{|{U|G`cs)y8@9F;m_*QP= literal 0 HcmV?d00001 diff --git a/wiki/info/mobile/energy-consumption/ComparisonConnectivity.png b/wiki/info/mobile/energy-consumption/ComparisonConnectivity.png new file mode 100644 index 0000000000000000000000000000000000000000..16dc6f49a554ace32933bcaa7ff438a700cb0c6b GIT binary patch literal 65497 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 literal 0 HcmV?d00001 From e569d2e24ba286ef45d7e3f2af0ffc93d0542a28 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Wed, 28 Sep 2016 08:13:42 +0000 Subject: [PATCH 49/97] Updated energy consumption (markdown) --- wiki/info/mobile/energy-consumption.md | 202 ++++++++++++------------- 1 file changed, 101 insertions(+), 101 deletions(-) diff --git a/wiki/info/mobile/energy-consumption.md b/wiki/info/mobile/energy-consumption.md index d38e31c592f..a6e0a26c7f3 100644 --- a/wiki/info/mobile/energy-consumption.md +++ b/wiki/info/mobile/energy-consumption.md @@ -1,101 +1,101 @@ -# Power Consumption Of Android Apps - -[[_TOC_]] - -## Introduction -This page documents energy consumption tests of the SailInsight app in various scenarios. It is a crucial topic to consider as tracking often goes on for several hours and it would be desirable that the phone lasts throughout the whole session. - -Though there are many opinions which can be found on the internet as to how big of an impact GPS or cellular network has on battery drain, most of them are very vague or do not comply with our specific usecase, so more abstract observations had to be done, see our findings below. - -For further discussion on the topic there is bug [#3883]( https://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=3883); you can also find detailed measurements of the initial tests on this topic [here](http://media.sapsailing.com/SmartphoneLogs/energyTracking.zip). - -## Testing Methodology - -Monitoring energy consumption in Android is not easy. Detailed statistics can only be obtained from the system if you have root access from Android 4.4 onwards. Information like what app is responsible for what portion of the energy consumption is either not available in APIs before 4.4 or would require rooting all the testing devices. Since that was not an option we decided to monitor the general battery level over a time of 2 hours to get somewhat representative results. We made sure that the phone was only running the regular set of background activities and no unnecessary applications. - -Having decided that, we wrote an EnergyLog class that you can find in com.sap.sailing.android.shared.util on the “bug3883”-branch ready for future testing. It is able to monitor the following data by itself whenever `addEntryToLog` is called: a timestamp, the battery-percentage, battery temperature, CPU usage and GSM signal strength. Instantiate the class once for every log you want to write and when you are done logging/adding entries call `writeLog`. You can also monitor GPS accuracy and the amount of satellites used for finding the fix. This is useful if you want to measure energy consumption in the InSight app whenever `onLocationChanged` is called. - -### Location APIs - -Differences and considerations -There basically are two APIs for gathering location information: The "older" LocationManager API which is available in every API level, and the FusedLocationProvider API which works through the GooglePlayServices. The latter was used for all the Sailing Analytics Android apps and is also available on every phone in theory. Sometimes the app requires updates of the GooglePlayServices though, making it an additional hassle that could be avoided by not using it. Also we experienced issues on an Huawei Honor 6 device with Android 6 while using the InSight App when the phone was locked. The phone did not provide location updates anymore, which was the reason we looked into switching the APIs in the first place, since everything worked fine with the LocationManager. - -Furthermore, you can specify the LocationManager API to only use GPS to determine exact locations, while the FusedLocationProvider API only takes criterias (such as the need for high-precision location), but it will fall back to unreasonably unprecise location fixes aggregated through WiFi and cellular network if there is no GPS connection yet. - -The only advantage over the LocationManager here is that getting a coarse location as the initial fix can be much faster. - -Unprecise locations are insufficient for Sail InSight and Buoy Pinger though, so waiting for a fine location instead of accepting an unprecise one should be the way to go. Thus the API used in these two apps will be switched to LocationManager. -As for the Race Committee app, unprecise locations will do here, since those are only used for setting wind information. Therefore, FusedLocationProviderApi grants better useability in terms of the speed of finding the location. - -Battery drain aspects -We tested both APIs on three devices over a period of two hours. See the results below. - - -As you can see above, the difference between the two APIs is relatively small. Moreover it seems that on some phones, one API has less impact on battery drain than the other, while on other phones it is the other way around, though this delta is probably within margin of error. So switching APIs really has no impact on battery consumption. - -### 2G vs 3G connection in good network coverage - -There is the common opinion that a 2G network connection drains less battery than 3G. This is only partially true though as in certain situations it is the other way around, especially in situations without good coverage (which is the case while sailing on the water most of the time). - -See our tests in a good connection state below - again tested on three devices over two hours, the devices set to only use the respective network. - - -The results show that for the Sail InSight app, 2G does not consume less battery in any case. The difference again is very small and probably within margin of error on two of our testing phones. Interestingly though, on the third phone, 2G actually drains the phone's battery noticeably stronger than 3G. - -A possible reason for this might be that sending fixes takes longer on a 2G connection due to the lower bandwidth - leading the chip having to stay active longer each time a message is sent. Again, under hard conditions with problematic connectivity this would probably be the other way around. - -### Comparing different message sending intervals and also good and bad connectivity -In order to simulate a weak cellular connection often found on the water - constantly changing 2G/3G/4G networks and signal strengths; even signal loss from time to time, we put the phones in an elevator. On the top floor, there is a good connection with 3G, the further down, the worse it gets up to no connection in the basement. Here the phones are sometimes able to catch a 2G signal, which is also not that strong. -For comparison, we also put the phones in a well-covered area. - -As message sending intervals shown on the X-axis we chose the following: -immediately, 5 seconds, 10 seconds, 20 seconds, 30 seconds and 5 minutes. -On the Y-axis you can see the consumed energy over 2 hours. - -See the results below. - - - -What you can see in this diagram is that battery consumption will drop with increasing sending intervals, no matter how good or bad cellular connection is. The most significant differences are observable on intervals ranging from 5 to 25 seconds. The difference between 30 seconds and 5 minutes is negligible, so is the difference between immediate sending and a 5 second interval. - -When comparing good and bad connectivity, the graphs mostly confirm our concerns: The battery drains faster on most phones when exposed to changing cellular network or frequently lost connection. The phones consume more energy when they have to compensate for that with booking into other networks, reconnecting and so on. This means that tracking will use more energy under real conditions than in synthetic benchmarks on land, where you usually have a better connection. - -Some phones though behave unexpectedly on a bad connection. The S2 shows the exact opposite of the expected results with the battery consumption being lower under bad connectivity. From this we can conclude that there are phones which are able to handle these bad conditions better than others or even get an advantage from it. When a phone is booked into a cellular network for overall less time it also consumes less power. But seemingly the expected increased consumption for booking in and out of networks is not present on some phones. - -## Conclusion - -Generally we have to say that energy consumption heavily depends on the phone itself. On some phones the app would still be able to run 10 hours without optimization, on others only 4. It also depends on the specific device how effective energy conserving measures are. -GPS fix interval - * different GPS fix acquiring intervals do not make a difference in battery drain - * they would if the interval was much lower - say 5-10 minutes upwards - * this is not an option for a precise tracking app though so there is nothing which can be done at this point - -Connectivity state - * better signal strength leads to a lower required transmission power by the phone's antenna - --> a solid 2G connection is better than a bad 3G connection - * the longer the chip needs to be active, the higher the drain - --> the faster data is sent, the better - --> 3G is more economical, if stable, especially with bigger data batches - * frequent signal loss forces the phone to constanly try to reconnect to the cellular network - -Message sending interval - * the main thing where power saving measures can be applied on all phones - -Heat - * heat will have no short term influence on battery life on the current cycle - * only long term influence on battery degredation - - -Resulting actions going forth - * send messages _only_ as fast as necessary to still provide a reasonable experience -* intervals between 5 and 60 seconds are imaginable as a choice for the user -* provide a setting in the app for that - possibly displaying an educated guess on remaining battery life with each setting; taking into account the following: - * the user's device (battery level, capacity, average idle power drain) - * statistics provided by the backend (how power-intense are the different intervals on the average of devices) - * possibly taking android-provided expected time into account - see Intent.ACTION_POWER_USAGE_SUMMARY - ---- - -Authors: -Adrian Riedel (D064867) -Daniel Wagner (D065058) +# Power Consumption Of Android Apps + +[[_TOC_]] + +## Introduction +This page documents energy consumption tests of the SailInsight app in various scenarios. It is a crucial topic to consider as tracking often goes on for several hours and it would be desirable that the phone lasts throughout the whole session. + +Though there are many opinions which can be found on the internet as to how big of an impact GPS or cellular network has on battery drain, most of them are very vague or do not comply with our specific usecase, so more abstract observations had to be done, see our findings below. + +For further discussion on the topic there is bug [#3883]( https://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=3883); you can also find detailed measurements of the initial tests on this topic [here](http://media.sapsailing.com/SmartphoneLogs/energyTracking.zip). + +## Testing Methodology + +Monitoring energy consumption in Android is not easy. Detailed statistics can only be obtained from the system if you have root access from Android 4.4 onwards. Information like what app is responsible for what portion of the energy consumption is either not available in APIs before 4.4 or would require rooting all the testing devices. Since that was not an option we decided to monitor the general battery level over a time of 2 hours to get somewhat representative results. We made sure that the phone was only running the regular set of background activities and no unnecessary applications. + +Having decided that, we wrote an EnergyLog class that you can find in com.sap.sailing.android.shared.util on the “bug3883”-branch ready for future testing. It is able to monitor the following data by itself whenever `addEntryToLog` is called: a timestamp, the battery-percentage, battery temperature, CPU usage and GSM signal strength. Instantiate the class once for every log you want to write and when you are done logging/adding entries call `writeLog`. You can also monitor GPS accuracy and the amount of satellites used for finding the fix. This is useful if you want to measure energy consumption in the InSight app whenever `onLocationChanged` is called. + +### Location APIs + +Differences and considerations +There basically are two APIs for gathering location information: The "older" LocationManager API which is available in every API level, and the FusedLocationProvider API which works through the GooglePlayServices. The latter was used for all the Sailing Analytics Android apps and is also available on every phone in theory. Sometimes the app requires updates of the GooglePlayServices though, making it an additional hassle that could be avoided by not using it. Also we experienced issues on an Huawei Honor 6 device with Android 6 while using the InSight App when the phone was locked. The phone did not provide location updates anymore, which was the reason we looked into switching the APIs in the first place, since everything worked fine with the LocationManager. + +Furthermore, you can specify the LocationManager API to only use GPS to determine exact locations, while the FusedLocationProvider API only takes criterias (such as the need for high-precision location), but it will fall back to unreasonably unprecise location fixes aggregated through WiFi and cellular network if there is no GPS connection yet. + +The only advantage over the LocationManager here is that getting a coarse location as the initial fix can be much faster. + +Unprecise locations are insufficient for Sail InSight and Buoy Pinger though, so waiting for a fine location instead of accepting an unprecise one should be the way to go. Thus the API used in these two apps will be switched to LocationManager. +As for the Race Committee app, unprecise locations will do here, since those are only used for setting wind information. Therefore, FusedLocationProviderApi grants better useability in terms of the speed of finding the location. + +Battery drain aspects +We tested both APIs on three devices over a period of two hours. See the results below. + + +As you can see above, the difference between the two APIs is relatively small. Moreover it seems that on some phones, one API has less impact on battery drain than the other, while on other phones it is the other way around, though this delta is probably within margin of error. So switching APIs really has no impact on battery consumption. + +### 2G vs 3G connection in good network coverage + +There is the common opinion that a 2G network connection drains less battery than 3G. This is only partially true though as in certain situations it is the other way around, especially in situations without good coverage (which is the case while sailing on the water most of the time). + +See our tests in a good connection state below - again tested on three devices over two hours, the devices set to only use the respective network. + + +The results show that for the Sail InSight app, 2G does not consume less battery in any case. The difference again is very small and probably within margin of error on two of our testing phones. Interestingly though, on the third phone, 2G actually drains the phone's battery noticeably stronger than 3G. + +A possible reason for this might be that sending fixes takes longer on a 2G connection due to the lower bandwidth - leading the chip having to stay active longer each time a message is sent. Again, under hard conditions with problematic connectivity this would probably be the other way around. + +### Comparing different message sending intervals and also good and bad connectivity +In order to simulate a weak cellular connection often found on the water - constantly changing 2G/3G/4G networks and signal strengths; even signal loss from time to time, we put the phones in an elevator. On the top floor, there is a good connection with 3G, the further down, the worse it gets up to no connection in the basement. Here the phones are sometimes able to catch a 2G signal, which is also not that strong. +For comparison, we also put the phones in a well-covered area. + +As message sending intervals shown on the X-axis we chose the following: +immediately, 5 seconds, 10 seconds, 20 seconds, 30 seconds and 5 minutes. +On the Y-axis you can see the consumed energy over 2 hours. + +See the results below. + + + +What you can see in this diagram is that battery consumption will drop with increasing sending intervals, no matter how good or bad cellular connection is. The most significant differences are observable on intervals ranging from 5 to 25 seconds. The difference between 30 seconds and 5 minutes is negligible, so is the difference between immediate sending and a 5 second interval. + +When comparing good and bad connectivity, the graphs mostly confirm our concerns: The battery drains faster on most phones when exposed to changing cellular network or frequently lost connection. The phones consume more energy when they have to compensate for that with booking into other networks, reconnecting and so on. This means that tracking will use more energy under real conditions than in synthetic benchmarks on land, where you usually have a better connection. + +Some phones though behave unexpectedly on a bad connection. The S2 shows the exact opposite of the expected results with the battery consumption being lower under bad connectivity. From this we can conclude that there are phones which are able to handle these bad conditions better than others or even get an advantage from it. When a phone is booked into a cellular network for overall less time it also consumes less power. But seemingly the expected increased consumption for booking in and out of networks is not present on some phones. + +## Conclusion + +Generally we have to say that energy consumption heavily depends on the phone itself. On some phones the app would still be able to run 10 hours without optimization, on others only 4. It also depends on the specific device how effective energy conserving measures are. +GPS fix interval +* different GPS fix acquiring intervals do not make a difference in battery drain +* they would if the interval was much lower - say 5-10 minutes upwards +* this is not an option for a precise tracking app though so there is nothing which can be done at this point + +Connectivity state +* better signal strength leads to a lower required transmission power by the phone's antenna + --> a solid 2G connection is better than a bad 3G connection +* the longer the chip needs to be active, the higher the drain + --> the faster data is sent, the better + --> 3G is more economical, if stable, especially with bigger data batches +* frequent signal loss forces the phone to constanly try to reconnect to the cellular network + +Message sending interval +* the main thing where power saving measures can be applied on all phones + +Heat +* heat will have no short term influence on battery life on the current cycle +* only long term influence on battery degredation + + +Resulting actions going forth +* send messages _only_ as fast as necessary to still provide a reasonable experience +* intervals between 5 and 60 seconds are imaginable as a choice for the user +* provide a setting in the app for that - possibly displaying an educated guess on remaining battery life with each setting; taking into account the following: +* the user's device (battery level, capacity, average idle power drain) +* statistics provided by the backend (how power-intense are the different intervals on the average of devices) +* possibly taking android-provided expected time into account - see Intent.ACTION_POWER_USAGE_SUMMARY + +--- + +Authors: +Adrian Riedel (D064867) +Daniel Wagner (D065058) From 9eca83ff0767dc11e3442a4fff6fba64ff2165af Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Wed, 28 Sep 2016 10:28:49 +0200 Subject: [PATCH 50/97] modified energy consumption wiki page, images are now clickable --- wiki/info/mobile/energy-consumption.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/wiki/info/mobile/energy-consumption.md b/wiki/info/mobile/energy-consumption.md index a6e0a26c7f3..6771b492c94 100644 --- a/wiki/info/mobile/energy-consumption.md +++ b/wiki/info/mobile/energy-consumption.md @@ -29,7 +29,7 @@ As for the Race Committee app, unprecise locations will do here, since those are Battery drain aspects We tested both APIs on three devices over a period of two hours. See the results below. - + As you can see above, the difference between the two APIs is relatively small. Moreover it seems that on some phones, one API has less impact on battery drain than the other, while on other phones it is the other way around, though this delta is probably within margin of error. So switching APIs really has no impact on battery consumption. @@ -38,7 +38,7 @@ As you can see above, the difference between the two APIs is relatively small. M There is the common opinion that a 2G network connection drains less battery than 3G. This is only partially true though as in certain situations it is the other way around, especially in situations without good coverage (which is the case while sailing on the water most of the time). See our tests in a good connection state below - again tested on three devices over two hours, the devices set to only use the respective network. - + The results show that for the Sail InSight app, 2G does not consume less battery in any case. The difference again is very small and probably within margin of error on two of our testing phones. Interestingly though, on the third phone, 2G actually drains the phone's battery noticeably stronger than 3G. @@ -54,7 +54,7 @@ On the Y-axis you can see the consumed energy over 2 hours. See the results below. - + What you can see in this diagram is that battery consumption will drop with increasing sending intervals, no matter how good or bad cellular connection is. The most significant differences are observable on intervals ranging from 5 to 25 seconds. The difference between 30 seconds and 5 minutes is negligible, so is the difference between immediate sending and a 5 second interval. @@ -98,4 +98,4 @@ Generally we have to say that energy consumption heavily depends on the phone it Authors: Adrian Riedel (D064867) -Daniel Wagner (D065058) +Daniel Wagner (D065058) \ No newline at end of file From 5b6035cfb3257436fcb72405677bd386febea317 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Wed, 28 Sep 2016 08:37:00 +0000 Subject: [PATCH 51/97] Updated energy consumption (markdown) --- wiki/info/mobile/energy-consumption.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/wiki/info/mobile/energy-consumption.md b/wiki/info/mobile/energy-consumption.md index 6771b492c94..5bc268f6a03 100644 --- a/wiki/info/mobile/energy-consumption.md +++ b/wiki/info/mobile/energy-consumption.md @@ -66,11 +66,13 @@ Some phones though behave unexpectedly on a bad connection. The S2 shows the exa Generally we have to say that energy consumption heavily depends on the phone itself. On some phones the app would still be able to run 10 hours without optimization, on others only 4. It also depends on the specific device how effective energy conserving measures are. GPS fix interval + * different GPS fix acquiring intervals do not make a difference in battery drain * they would if the interval was much lower - say 5-10 minutes upwards * this is not an option for a precise tracking app though so there is nothing which can be done at this point Connectivity state + * better signal strength leads to a lower required transmission power by the phone's antenna --> a solid 2G connection is better than a bad 3G connection * the longer the chip needs to be active, the higher the drain @@ -79,14 +81,17 @@ Generally we have to say that energy consumption heavily depends on the phone it * frequent signal loss forces the phone to constanly try to reconnect to the cellular network Message sending interval + * the main thing where power saving measures can be applied on all phones Heat + * heat will have no short term influence on battery life on the current cycle * only long term influence on battery degredation Resulting actions going forth + * send messages _only_ as fast as necessary to still provide a reasonable experience * intervals between 5 and 60 seconds are imaginable as a choice for the user * provide a setting in the app for that - possibly displaying an educated guess on remaining battery life with each setting; taking into account the following: From d3bd358262cd7dbe58fef98c94e4fb7664ec063a Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 11:08:29 +0200 Subject: [PATCH 52/97] left a FIXME comment for bug3928 in CandidateFinderImpl regarding the long holding of the course read lock while waiting for background thread pool tasks to complete Change-Id: I0d00bc2d427c826d3bd080a6fe69262fe2fbeb33 --- .../domain/markpassingcalculation/impl/CandidateFinderImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java index 1756c2c96a0..2e657974e77 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java @@ -403,6 +403,7 @@ public class CandidateFinderImpl implements CandidateFinder { return null; }); } + // FIXME bug 3928: holding the course read lock while pushing the tasks to the executor and waiting synchronously for their completion is deadlock-prone when a course update requests the write lock and future read lock requests have to wait executor.invokeAll(tasks); } catch (InterruptedException e) { logger.log(Level.SEVERE, "Problem trying to update competitor candidate sets after waypoints starting at zero-based index "+ From 8e0d1aca46de1f7c2c69ed64e1b05fd4e03cc00a Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 11:19:50 +0200 Subject: [PATCH 53/97] use lock propagation/inheritance to avoid read-read deadlocks in CandidateFinderImpl.invalidateAfterCourseChange when calling invokeAll Change-Id: I3be9970bf4d85a61a083cac45f37a6ec4b1e0640 --- .../impl/CandidateFinderImpl.java | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java index 2e657974e77..1176f3ffd8f 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java @@ -47,6 +47,7 @@ import com.sap.sse.common.Timed; import com.sap.sse.common.Util; import com.sap.sse.common.Util.Pair; import com.sap.sse.common.impl.TimeRangeImpl; +import com.sap.sse.concurrent.LockUtil; import com.sap.sse.util.ThreadPoolUtil; /** @@ -383,27 +384,32 @@ public class CandidateFinderImpl implements CandidateFinder { changedWaypoints.add(w); } } - final Set> tasks = new HashSet<>();; + final Set> tasks = new HashSet<>(); + final Thread executingThread = Thread.currentThread(); // most likely the MarkPassingCalculator.Listen thread for (Competitor c : race.getRace().getCompetitors()) { tasks.add(()->{ - List badCans = new ArrayList<>(); - List newCans = new ArrayList<>(); - for (Waypoint w : changedWaypoints) { - Map, Candidate> xteCans = getXteCandidates(c, w); - badCans.addAll(xteCans.values()); - xteCans.clear(); - Map distanceCans = getDistanceCandidates(c, w); - badCans.addAll(distanceCans.values()); - distanceCans.clear(); + LockUtil.propagateLockSetFrom(executingThread); // "inherit" the course read lock from the "calling" thread into the thread pool executor thread + try { + List badCans = new ArrayList<>(); + List newCans = new ArrayList<>(); + for (Waypoint w : changedWaypoints) { + Map, Candidate> xteCans = getXteCandidates(c, w); + badCans.addAll(xteCans.values()); + xteCans.clear(); + Map distanceCans = getDistanceCandidates(c, w); + badCans.addAll(distanceCans.values()); + distanceCans.clear(); + } + Set allFixes = getAllFixes(c); + newCans.addAll(checkForDistanceCandidateChanges(c, allFixes, changedWaypoints).getA()); + newCans.addAll(checkForXTECandidatesChanges(c, allFixes, changedWaypoints).getA()); + result.put(c, new Util.Pair, List>(newCans, badCans)); + return null; + } finally { + LockUtil.unpropagateLockSetFrom(executingThread); // "return" the course read lock from the thread pool executor thread to the "calling" thread } - Set allFixes = getAllFixes(c); - newCans.addAll(checkForDistanceCandidateChanges(c, allFixes, changedWaypoints).getA()); - newCans.addAll(checkForXTECandidatesChanges(c, allFixes, changedWaypoints).getA()); - result.put(c, new Util.Pair, List>(newCans, badCans)); - return null; }); } - // FIXME bug 3928: holding the course read lock while pushing the tasks to the executor and waiting synchronously for their completion is deadlock-prone when a course update requests the write lock and future read lock requests have to wait executor.invokeAll(tasks); } catch (InterruptedException e) { logger.log(Level.SEVERE, "Problem trying to update competitor candidate sets after waypoints starting at zero-based index "+ From cf0b1ac729fc507519de8a9371659c495fe1fb66 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 12:38:38 +0200 Subject: [PATCH 54/97] fixed reloadAndGetPreviousRacesByRace again, returning an entry for all TrackedRaces Change-Id: Ic9f61ada782acb53f579832d84eddf90f4c52963 --- .../AbstractRaceExecutionOrderProvider.java | 13 +++++++++-- .../com/sap/sse/util/SmartFutureCache.java | 23 ++++++++++++++++++- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceExecutionOrderProvider.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceExecutionOrderProvider.java index 0ed1148759c..34caffcaf8d 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceExecutionOrderProvider.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/base/impl/AbstractRaceExecutionOrderProvider.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -12,7 +13,6 @@ import com.sap.sailing.domain.base.Fleet; import com.sap.sailing.domain.base.RaceColumn; import com.sap.sailing.domain.tracking.RaceExecutionOrderProvider; import com.sap.sailing.domain.tracking.TrackedRace; -import com.sap.sse.common.Util; import com.sap.sse.util.SmartFutureCache; import com.sap.sse.util.SmartFutureCache.EmptyUpdateInterval; @@ -43,6 +43,10 @@ public abstract class AbstractRaceExecutionOrderProvider implements RaceExecutio protected abstract Map> getRaceColumnsOfSeries(); + /** + * For all tracked races found on any of the {@link #getRaceColumnsOfSeries() race columns} produces a valid and + * potentially empty set. + */ private Map> reloadAndGetPreviousRacesByRace() { final Map> previousRacesByRace = new HashMap<>(); for (Entry> raceColumnsInSeries : getRaceColumnsOfSeries().entrySet()) { @@ -57,8 +61,13 @@ public abstract class AbstractRaceExecutionOrderProvider implements RaceExecutio for (RaceColumn currentRaceColumn : raceColumns) { final TrackedRace trackedRaceInColumnForFleet = currentRaceColumn.getTrackedRace(fleet); if (trackedRaceInColumnForFleet != null) { + Set previousRaces = previousRacesByRace.get(trackedRaceInColumnForFleet); + if (previousRaces == null) { + previousRaces = new HashSet<>(); + previousRacesByRace.put(trackedRaceInColumnForFleet, previousRaces); + } if (previousRace != null) { - Util.addToValueSet(previousRacesByRace, trackedRaceInColumnForFleet, previousRace); + previousRaces.add(previousRace); } previousRace = trackedRaceInColumnForFleet; } diff --git a/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java b/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java index 91e82bbaf81..196596018bf 100755 --- a/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java +++ b/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java @@ -24,6 +24,8 @@ import com.sap.sse.common.Util.Pair; import com.sap.sse.concurrent.LockUtil; import com.sap.sse.concurrent.NamedReentrantReadWriteLock; import com.sap.sse.util.SmartFutureCache.UpdateInterval; +import com.sap.sse.util.impl.HasTracingGet; +import com.sap.sse.util.impl.HasTracingGetImpl; import com.sap.sse.util.impl.KnowsExecutor; import com.sap.sse.util.impl.KnowsExecutorAndTracingGet; import com.sap.sse.util.impl.KnowsExecutorAndTracingGetImpl; @@ -519,14 +521,33 @@ public class SmartFutureCache> { notifyAll(); } } + + public String toString() { + final String result; + synchronized (this) { + if (isSet) { + result = value==null?"null":value.toString(); + } else { + result = "unset"; + } + } + return result; + } } private static class TransitiveFuture implements Future { private final SettableFuture> future; + private final HasTracingGet tracingGetHelper; protected TransitiveFuture(SettableFuture> future) { super(); this.future = future; + this.tracingGetHelper = new HasTracingGetImpl() { + @Override + protected String getAdditionalTraceInfo() { + return "transitive future "+TransitiveFuture.this.future.toString(); + } + }; } @Override @@ -558,7 +579,7 @@ public class SmartFutureCache> { @Override public T get() throws InterruptedException, ExecutionException { - return future.get().get(); + return tracingGetHelper.callGetAndTraceAfterEachTimeout(this); } @Override From 86dcf03b9ae1ec8453012c144c4f246ee1e0746f Mon Sep 17 00:00:00 2001 From: Adrian Riedel Date: Wed, 28 Sep 2016 11:07:08 +0000 Subject: [PATCH 55/97] Updated energy consumption (markdown) --- wiki/info/mobile/energy-consumption.md | 1 + 1 file changed, 1 insertion(+) diff --git a/wiki/info/mobile/energy-consumption.md b/wiki/info/mobile/energy-consumption.md index 5bc268f6a03..cb6b4d532a9 100644 --- a/wiki/info/mobile/energy-consumption.md +++ b/wiki/info/mobile/energy-consumption.md @@ -65,6 +65,7 @@ Some phones though behave unexpectedly on a bad connection. The S2 shows the exa ## Conclusion Generally we have to say that energy consumption heavily depends on the phone itself. On some phones the app would still be able to run 10 hours without optimization, on others only 4. It also depends on the specific device how effective energy conserving measures are. + GPS fix interval * different GPS fix acquiring intervals do not make a difference in battery drain From 72463bc793b2d35c33077a12dafafa278d4b9144 Mon Sep 17 00:00:00 2001 From: Adrian Riedel Date: Wed, 28 Sep 2016 11:07:09 +0000 Subject: [PATCH 56/97] Updated energy consumption (markdown) From 01ecf870d65b35eca47e2166775e3c27d1173590 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 13:33:55 +0200 Subject: [PATCH 57/97] log exceptions that occur during computeMarkPasses Change-Id: I4ba66b04a11eeb5ad0b8fe9f18ad1e1d51c2b07b --- .../MarkPassingCalculator.java | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java index f1f449a0ff8..d8ff4ae39ab 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java @@ -212,8 +212,7 @@ public class MarkPassingCalculator { } executor.invokeAll(tasks); } - updateManuallySetMarkPassings(fixedMarkPassings, removedFixedMarkPassings, suppressedMarkPassings, - unsuppressedMarkPassings); + updateManuallySetMarkPassings(fixedMarkPassings, removedFixedMarkPassings, suppressedMarkPassings, unsuppressedMarkPassings); computeMarkPasses(competitorFixes, markFixes); competitorFixes.clear(); markFixes.clear(); @@ -296,8 +295,8 @@ public class MarkPassingCalculator { } private class ComputeMarkPassings implements Runnable { - Competitor c; - Iterable fixes; + final Competitor c; + final Iterable fixes; public ComputeMarkPassings(Competitor c, Iterable fixes) { this.c = c; @@ -306,12 +305,22 @@ public class MarkPassingCalculator { @Override public void run() { - logger.finer("Calculating MarkPassings for race "+raceName+", competitor " + c + " (" + Util.size(fixes) + " new fixes)"); - Util.Pair, Iterable> candidateDeltas = finder.getCandidateDeltas(c, fixes); - logger.finer("Received " + Util.size(candidateDeltas.getA()) + " new Candidates for race "+raceName+ - " and competitor "+c+" and will remove " - + Util.size(candidateDeltas.getB()) + " old Candidates for " + c); - chooser.calculateMarkPassDeltas(c, candidateDeltas.getA(), candidateDeltas.getB()); + try { + if (logger.isLoggable(Level.FINER)) { + logger.finer("Calculating MarkPassings for race "+raceName+", competitor " + c + " (" + Util.size(fixes) + " new fixes)"); + } + Util.Pair, Iterable> candidateDeltas = finder.getCandidateDeltas(c, fixes); + if (logger.isLoggable(Level.FINER)) { + logger.finer("Received " + Util.size(candidateDeltas.getA()) + " new Candidates for race "+raceName+ + " and competitor "+c+" and will remove " + + Util.size(candidateDeltas.getB()) + " old Candidates for " + c); + } + chooser.calculateMarkPassDeltas(c, candidateDeltas.getA(), candidateDeltas.getB()); + } catch (Exception e) { + // make sure the exception is logged and not only "swallowed" and suppressed by an invokeAll(...) statement + logger.log(Level.SEVERE, "Exception trying to compute mark passings for competitor "+c, e); + throw e; + } } } From bbcaea3fa94b7efc4c4f93144e077e34f0369344 Mon Sep 17 00:00:00 2001 From: Adrian Riedel Date: Wed, 28 Sep 2016 14:14:56 +0200 Subject: [PATCH 58/97] TRACKING APP: added a text summarizing the current GPS update interval status; implemented automatic energy saving mode compliant with new setting (which can also be overwritten) and removed the old manual switch --- .../res/values-de/preferences.xml | 9 ++-- .../res/values/preferences.xml | 13 +++--- .../res/xml/preference_general.xml | 13 ++---- .../app/services/TrackingService.java | 10 ++--- .../app/ui/fragments/TrackingFragment.java | 4 +- .../preference/GeneralPreferenceFragment.java | 43 ++++++++++++++++++- .../tracking/app/utils/AppPreferences.java | 14 +++++- 7 files changed, 75 insertions(+), 31 deletions(-) diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml b/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml index 79864b90cd8..190c72327e7 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml @@ -1,14 +1,13 @@ Batterie Sparen - Batteriesparmodus - Ein - Aus - GPS Updates werden alle 30 Sekunden verschickt. - GPS Updates werden jede Sekunde verschickt. Sendeintervall für GPS-Updates auswählen Wählen Sie den größtmöglichen Wert, der dennoch eine dem Anwendungsfall entsprechend hohe Aktualisierungsrate ermöglicht. + Der Energiesparmodus wurde automatisch aktiviert, GPS Updates werden alle 20 Sekunden an den Server gesendet. Diese Einstellung wird überschrieben, wenn Sie oben ein anderes Intervall auswählen. + + GPS Updates werden%1$s %2$s an den Server gesendet. + alle sofort 5 Sekunden diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml b/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml index 130d07c9b2e..03b2ed0d642 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml @@ -7,19 +7,20 @@ tracking preferenceEnergySavingEnabled + preferenceEnergySavingOverride preferenceHeadingWithDeclinationSubtracted Battery Saving - Save Energy - On - Off - GPS updates are being sent to server every 30 seconds. - GPS updates are being sent to server every second. msgSndInt 0 choose GPS update sending interval - Choose a value as high as possible to preserve battery life while still maintaining the required live experience given by your use case. + Choose a value as high as possible to preserve battery life while still maintaining a reasonable live experience, depending on your use case. + Energy saving mode has been enabled automatically, GPS updates are being sent to the server every 20 seconds. You can change that by selecting an interval above. + + GPS updates will be sent to the server%1$s %2$s. + msgSndIntMessage + every immediately 5 seconds diff --git a/mobile/com.sap.sailing.android.tracking.app/res/xml/preference_general.xml b/mobile/com.sap.sailing.android.tracking.app/res/xml/preference_general.xml index b43a8c16e7a..6f1087bd9d1 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/xml/preference_general.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/xml/preference_general.xml @@ -3,15 +3,6 @@ - - + + diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java index 04777f3db55..bd475c737c3 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java @@ -68,7 +68,7 @@ public class TrackingService extends Service implements GoogleApiClient.Connecti private int NOTIFICATION_ID = R.string.tracker_started; public final static int UPDATE_INTERVAL_IN_MILLIS_DEFAULT = 1000; - private final static int UPDATE_INTERVAL_IN_MILLIS_POWERSAVE_MODE = 30000; + private final static int UPDATE_INTERVAL_IN_MILLIS_POWERSAVE_MODE = 20000; private final static float BATTERY_POWER_SAVE_THRESHOLD = 0.2f; private boolean initialLocation; @@ -163,6 +163,7 @@ public class TrackingService extends Service implements GoogleApiClient.Connecti prefs.setTrackerIsTracking(true); prefs.setTrackerIsTrackingCheckinDigest(checkinDigest); + prefs.setEnergySavingOverride(false); } private void stopTracking() { @@ -348,19 +349,18 @@ public class TrackingService extends Service implements GoogleApiClient.Connecti } /** - * Update whether message sending service should retry every 3 seconds or every 30. + * Update the interval in which message sending service should retry - possibly enable power saving */ private void updateResendIntervalSetting() { float batteryPct = getBatteryPercentage(); boolean batteryIsCharging = prefs.getBatteryIsCharging(); - //int updateInterval = UPDATE_INTERVAL_IN_MILLIS_DEFAULT; int updateInterval = prefs.getMessageSendingIntervalInMillis(); - //if (prefs.getEnergySavingEnabledByUser() || (batteryPct < BATTERY_POWER_SAVE_THRESHOLD && !batteryIsCharging)) { - if (batteryPct < BATTERY_POWER_SAVE_THRESHOLD && !batteryIsCharging) { + if (batteryPct < BATTERY_POWER_SAVE_THRESHOLD && !batteryIsCharging && !prefs.getEnergySavingOverride()) { if (BuildConfig.DEBUG) { ExLog.i(this, "POWER-LEVELS", "in power saving mode"); } updateInterval = UPDATE_INTERVAL_IN_MILLIS_POWERSAVE_MODE; + prefs.setEnergySavingEnabledAutomatically(true); } else { if (BuildConfig.DEBUG) { ExLog.i(this, "POWER-LEVELS", "in default power mode"); diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java index 84e5b1057b1..dffb2009434 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java @@ -134,9 +134,9 @@ public class TrackingFragment extends BaseFragment { public void run() { TextView textView = (TextView) getActivity().findViewById(R.id.mode); if (apiConnectivity == APIConnectivity.transmissionSuccess) { - if (prefs.getEnergySavingEnabledByUser()) { + if (prefs.getEnergySavingEnabledAutomatically() && !prefs.getEnergySavingOverride()) { textView.setText(getString(R.string.tracking_mode_battery_saving)); - textView.setTextColor(getResources().getColor(R.color.fiori_text_color)); + textView.setTextColor(getResources().getColor(R.color.sap_red)); } else { textView.setText(getString(R.string.tracking_mode_live)); textView.setTextColor(getResources().getColor(R.color.fiori_text_color)); diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java index 01ed2968459..ede9973e121 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java @@ -32,29 +32,35 @@ public class GeneralPreferenceFragment extends BasePreferenceFragment implements } ListPreference prefSendingInterval = findPreference(R.string.preference_energy_saving_sending_interval_key); + prefSendingInterval.setDefaultValue(R.string.preference_energy_saving_sending_interval_default); prefSendingInterval.setOnPreferenceChangeListener(this); + + updateEnergySavingMessage(null); } @Override public void onPause() { super.onPause(); - SwitchPreference prefEnergy = findPreference(R.string.preference_energy_saving_enabled_key); + //SwitchPreference prefEnergy = findPreference(R.string.preference_energy_saving_enabled_key); SwitchPreference prefDeclination = findPreference(R.string.preference_heading_with_declination_subtracted_key); AppPreferences prefs = new AppPreferences(getActivity()); - prefs.setEnergySavingEnabledByUser(prefEnergy.isChecked()); + //prefs.setEnergySavingEnabledByUser(prefEnergy.isChecked()); prefs.setDisplayHeadingWithSubtractedDeclination(prefDeclination.isChecked()); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { AppPreferences prefs = new AppPreferences(getActivity()); + + //GPS message sending interval settings if(preference.getKey().equals(getString(R.string.preference_energy_saving_sending_interval_key))) { int msgSndInt = Integer.parseInt((String)newValue); switch (msgSndInt){ case 0: + //send every second prefs.setMessageResendIntervalInMillis(1000); break; @@ -62,7 +68,40 @@ public class GeneralPreferenceFragment extends BasePreferenceFragment implements prefs.setMessageResendIntervalInMillis(msgSndInt * 1000); break; } + if(prefs.getEnergySavingEnabledAutomatically()) + prefs.setEnergySavingOverride(true); + updateEnergySavingMessage(newValue.toString()); } return true; } + + private void updateEnergySavingMessage(String value){ + Preference msgSndIntMessage = findPreference(getString(R.string.preference_energy_saving_sending_interval_message_key)); + ListPreference msgSndIntPreference = (ListPreference) findPreference(getString(R.string.preference_energy_saving_sending_interval_key)); + + //when value == null, (meaning the settings screen just launched) - current entry will be selected + //otherwise, we need to get the index of the newly selected entry as the one resulting from getEntry() will be the previous one + String entry; + if (value == null){ + entry = msgSndIntPreference.getEntry().toString(); + } else { + int indexOfEntry = msgSndIntPreference.findIndexOfValue(value); + entry = msgSndIntPreference.getEntries()[indexOfEntry].toString(); + } + + //possibly fill in the word "every" + String fillEvery = (entry.equals(msgSndIntPreference.getEntries()[0])) ? "" : " " + getString(R.string.preference_energy_saving_sending_interval_message_every); + + //set Text + AppPreferences prefs = new AppPreferences(getActivity()); + if(prefs.getEnergySavingEnabledAutomatically() && !prefs.getEnergySavingOverride()){ + msgSndIntMessage.setSummary(getString(R.string.preference_energy_saving_enabled_automatically)); + } else { + msgSndIntMessage.setSummary(String.format( + getString(R.string.preference_energy_saving_sending_interval_message), + fillEvery, + entry) + ); + } + } } diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java index 8cf6ab2b105..51f76777b36 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java @@ -112,15 +112,24 @@ public class AppPreferences extends BaseAppPreferences { preferences.edit().putString(context.getString(R.string.preference_competitor_key), id).commit(); } - public void setEnergySavingEnabledByUser(boolean newValue) { + public void setEnergySavingEnabledAutomatically(boolean newValue) { preferences.edit().putBoolean(context.getString(R.string.preference_energy_saving_enabled_key), newValue) .commit(); } - public boolean getEnergySavingEnabledByUser() { + public boolean getEnergySavingEnabledAutomatically() { return preferences.getBoolean(context.getString(R.string.preference_energy_saving_enabled_key), false); } + public void setEnergySavingOverride(boolean newValue) { + preferences.edit().putBoolean(context.getString(R.string.preference_energy_saving_override_key), newValue) + .commit(); + } + + public boolean getEnergySavingOverride() { + return preferences.getBoolean(context.getString(R.string.preference_energy_saving_override_key), false); + } + public void setDisplayHeadingWithSubtractedDeclination(boolean newValue) { preferences.edit() .putBoolean(context.getString(R.string.preference_heading_with_declination_subtracted_key), newValue) @@ -186,4 +195,5 @@ public class AppPreferences extends BaseAppPreferences { public void removeFailedUpload(String key) { pref.edit().remove(key).commit(); } + } \ No newline at end of file From 0ab64a06e35e8d6b2da2059752c2e82503d630bc Mon Sep 17 00:00:00 2001 From: Steffen Schaefer Date: Wed, 28 Sep 2016 16:00:04 +0200 Subject: [PATCH 59/97] Added try/finally to ensure that unlock is correctly called if an exception is thrown by TrackedRace.setStatusAndProgress --- .../impl/fixtracker/FixLoaderAndTracker.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java index 0eb35f57306..84ffc36ce99 100755 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java @@ -308,15 +308,18 @@ public class FixLoaderAndTracker implements TrackingDataLoader { updateCallback.run(); } } finally { - synchronized (FixLoaderAndTracker.this) { - int currentActiveLoaders = activeLoaders.decrementAndGet(); - FixLoaderAndTracker.this.notifyAll(); - if (currentActiveLoaders == 0) { - setStatusAndProgress(stopRequested.get() ? TrackedRaceStatusEnum.FINISHED - : TrackedRaceStatusEnum.TRACKING, 1.0); + try { + synchronized (FixLoaderAndTracker.this) { + int currentActiveLoaders = activeLoaders.decrementAndGet(); + FixLoaderAndTracker.this.notifyAll(); + if (currentActiveLoaders == 0) { + setStatusAndProgress(stopRequested.get() ? TrackedRaceStatusEnum.FINISHED + : TrackedRaceStatusEnum.TRACKING, 1.0); + } } + } finally { + trackedRace.unlockAfterSerializationRead(); } - trackedRace.unlockAfterSerializationRead(); } } }); From 882d40dd56ae27f0d214fc4c3b786a49e1854022 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 17:53:28 +0200 Subject: [PATCH 60/97] improved Waypoint.toString by adding passing instructions Change-Id: I93cd6cf9351f7e68b868b32805ad7266ebf0c2f4 --- .../src/com/sap/sailing/domain/base/impl/WaypointImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/WaypointImpl.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/WaypointImpl.java index 7c262b59976..bb16d391cba 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/WaypointImpl.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/base/impl/WaypointImpl.java @@ -46,7 +46,7 @@ public class WaypointImpl implements Waypoint { @Override public String toString() { - return getName(); + return (getName()==null?"":getName()) + " ("+getPassingInstructions()+")"; } @Override From 7e3981c524035ed7045411546466504b6c3407e4 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 17:53:56 +0200 Subject: [PATCH 61/97] improved toString output of Callable injected into executor in MarkPassingCalculator so we can see something in the log Change-Id: I2e1dee425cc18b39cb80e65049302dc4abea65df --- .../MarkPassingCalculator.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java index d8ff4ae39ab..32f29af56d5 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/MarkPassingCalculator.java @@ -9,7 +9,6 @@ import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.logging.Level; import java.util.logging.Logger; @@ -283,9 +282,24 @@ public class MarkPassingCalculator { fixes.addAll(fixesAffectedByNewMarkFixes.getValue()); } } - List> tasks = new ArrayList<>(); - for (Entry> c : combinedCompetitorFixes.entrySet()) { - tasks.add(Executors.callable(new ComputeMarkPassings(c.getKey(), c.getValue()))); + List> tasks = new ArrayList<>(); + for (final Entry> c : combinedCompetitorFixes.entrySet()) { + final Runnable runnable = new ComputeMarkPassings(c.getKey(), c.getValue()); + tasks.add(new Callable() { + @Override + public Void call() throws Exception { + runnable.run(); + return null; + } + + /** + * A reasonable toString implementation helps identifying these tasks in log messages for long-running tasks + */ + @Override + public String toString() { + return "Mark passing calculation for competitor "+c.getKey()+" with "+c.getValue().size()+" fixes"; + } + }); } try { executor.invokeAll(tasks); From b4f49f629f8ba6e3df86fa38cf65d10fd0072328 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 17:54:34 +0200 Subject: [PATCH 62/97] using single-point-of-exit pattern in CandidateFinderIMpl Change-Id: I959937d6c4ddd5d2745f03132ffaa369cec4354b --- .../impl/CandidateFinderImpl.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java index 1176f3ffd8f..cbb73005124 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java @@ -1213,19 +1213,24 @@ public class CandidateFinderImpl implements CandidateFinder { * @return an average of the estimated legs before and after w. */ private Distance getAverageLengthOfAdjacentLegs(TimePoint t, Waypoint w) { - Course course = race.getRace().getCourse(); - if (w == course.getFirstWaypoint()) { - return race.getTrackedLegStartingAt(w).getGreatCircleDistance(t); + final Distance result; + final Course course = race.getRace().getCourse(); + if (course.getNumberOfWaypoints() < 2) { + result = null; + } else if (w == course.getFirstWaypoint()) { + result = race.getTrackedLegStartingAt(w).getGreatCircleDistance(t); } else if (w == course.getLastWaypoint()) { - return race.getTrackedLegFinishingAt(w).getGreatCircleDistance(t); + result = race.getTrackedLegFinishingAt(w).getGreatCircleDistance(t); } else { Distance before = race.getTrackedLegStartingAt(w).getGreatCircleDistance(t); Distance after = race.getTrackedLegFinishingAt(w).getGreatCircleDistance(t); if (after != null && before != null) { - return new MeterDistance(before.add(after).getMeters() / 2); + result = new MeterDistance(before.add(after).getMeters() / 2); + } else { + result = null; } - return null; } + return result; } /** From 0d257b3f9e14c2eb6c1780bf0e159e7aae7fbe63 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 17:55:00 +0200 Subject: [PATCH 63/97] made updateStartAndEndOfTrackingMonitor a non-empty string for better readability in the debugger Change-Id: I6eee46b28f14b9530d331a3778e1d776cf46593a --- .../com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java index e44413cb5e7..9973e347fb1 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java @@ -751,7 +751,7 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl /** * Monitor object to synchronize access to the {@link #updateStartAndEndOfTracking(boolean)} method. See bug 3922. */ - private final Serializable updateStartAndEndOfTrackingMonitor = ""; + private final Serializable updateStartAndEndOfTrackingMonitor = "updateStartAndEndOfTrackingMonitor"; /** * Updates the start and end of tracking in the following precedence order: From 65790122d3e7d4c58f7ccca7c6b56ceeb72dc69a Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 17:55:32 +0200 Subject: [PATCH 64/97] better toString support for improved log messages Change-Id: I00fd950667bb7597ab7972cc76480234b15d00d1 --- .../src/com/sap/sse/util/SmartFutureCache.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java b/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java index 196596018bf..7988f3f3fbb 100755 --- a/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java +++ b/java/com.sap.sse/src/com/sap/sse/util/SmartFutureCache.java @@ -194,6 +194,10 @@ public class SmartFutureCache> { return callable.call(); } + @Override + public String toString() { + return callable==null?"null":callable.toString(); + } } /** @@ -377,6 +381,11 @@ public class SmartFutureCache> { public void setExecutorThisTaskIsScheduledFor(ThreadPoolExecutor executorThisTaskIsScheduledFor) { tracingGetHelper.setExecutorThisTaskIsScheduledFor(executorThisTaskIsScheduledFor); } + + @Override + public String toString() { + return getClass().getName()+" [key="+key+", updateInterval="+updateInterval+", cacheUpdateComputer="+cacheUpdateComputer+"]"; + } } public SmartFutureCache(CacheUpdater cacheUpdateComputer, String nameForLocks) { From ed7385a487dc077cf364b3c7ecd0280608aa50a3 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 28 Sep 2016 17:55:59 +0200 Subject: [PATCH 65/97] when log level is FINE for the com.sap.sse.util.impl package or the thread pool utility classes, log information about long-running tasks Change-Id: I5c9c75b4225c396c234a1a9720368ef4dc8e0b95 --- ...medTracingScheduledThreadPoolExecutor.java | 89 +++++++++++++++++++ .../util/impl/ThreadPoolAwareFutureTask.java | 19 ++++ 2 files changed, 108 insertions(+) diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java b/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java index c9a240897dc..0704932e53a 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/NamedTracingScheduledThreadPoolExecutor.java @@ -1,11 +1,22 @@ package com.sap.sse.util.impl; import java.util.concurrent.Callable; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Future; import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.RunnableFuture; import java.util.concurrent.RunnableScheduledFuture; +import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; +import java.util.logging.Level; +import java.util.logging.Logger; + +import com.sap.sse.common.Duration; +import com.sap.sse.common.TimePoint; +import com.sap.sse.common.impl.MillisecondsTimePoint; +import com.sap.sse.concurrent.ConcurrentWeakHashMap; /** * A scheduled thread pool executor with a name that produces {@link Future} tasks that write a trace message @@ -17,8 +28,27 @@ import java.util.concurrent.ThreadFactory; * */ public class NamedTracingScheduledThreadPoolExecutor extends ScheduledThreadPoolExecutor { + private static final Logger logger = Logger.getLogger(NamedTracingScheduledThreadPoolExecutor.class.getName()); private final String name; + /** + * If logging level is at least {@link Level#FINE}, each runnable's start time point is recorded in the + * {@link #beforeExecute(Thread, Runnable)} method. If at this logging level, the + * {@link #afterExecute(Runnable, Throwable)} method calculates the runnable's duration, and if above the + * {@link #DURATION_LOGGING_THRESHOLD}, writes a log entry. + */ + private final ConcurrentHashMap startTimePoints = new ConcurrentHashMap<>(); + + /** + * When logging {@link Level#FINE}, the {@link #schedule(Runnable, long, TimeUnit)} variants produce wrappers + * around the runnables whose content is nulled when {@link #afterExecute(Runnable, Throwable)} is called. In order + * to be able to log long-running runnables correctly, this map stores the connection between the wrapping + * future and the runnable wrapped by it. + */ + private final ConcurrentWeakHashMap, Runnable> wrappedRunnables = new ConcurrentWeakHashMap<>(); + + private final Duration DURATION_LOGGING_THRESHOLD = Duration.ONE_SECOND.times(5); + public NamedTracingScheduledThreadPoolExecutor(String name, int corePoolSize, RejectedExecutionHandler handler) { super(corePoolSize, handler); this.name = name; @@ -68,6 +98,65 @@ public class NamedTracingScheduledThreadPoolExecutor extends ScheduledThreadPool super.execute(command); } + @Override + protected void beforeExecute(Thread t, Runnable r) { + super.beforeExecute(t, r); + if (logger.isLoggable(Level.FINE)) { + startTimePoints.put(r, MillisecondsTimePoint.now()); + } + } + + @Override + protected void afterExecute(Runnable r, Throwable t) { + if (logger.isLoggable(Level.FINE)) { + final TimePoint end = MillisecondsTimePoint.now(); + final TimePoint startTime = startTimePoints.remove(r); + Runnable theRunnableToLog = wrappedRunnables.get(r); + if (theRunnableToLog == null) { + theRunnableToLog = r; + } + if (startTime != null) { + final Duration duration = startTime.until(end); + if (duration.compareTo(DURATION_LOGGING_THRESHOLD) > 0) { + logger.fine("Runnable "+theRunnableToLog+" took "+duration+" to complete in executor "+this+(t==null?"":("It failed with exception "+t))); + } + } else { + logger.fine("Strange internal problem: had expected to find start time for "+r); + } + } + super.afterExecute(r, t); + } + + @Override + public ScheduledFuture schedule(Runnable command, long delay, TimeUnit unit) { + final ScheduledFuture result = super.schedule(command, delay, unit); + if (logger.isLoggable(Level.FINE)) { + // remember which runnable was wrapped by the future because it will have been nulled out when afterExecute is called + wrappedRunnables.put(result, command); + } + return result; + } + + @Override + public ScheduledFuture scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) { + final ScheduledFuture result = super.scheduleAtFixedRate(command, initialDelay, period, unit); + if (logger.isLoggable(Level.FINE)) { + // remember which runnable was wrapped by the future because it will have been nulled out when afterExecute is called + wrappedRunnables.put(result, command); + } + return result; + } + + @Override + public ScheduledFuture scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) { + final ScheduledFuture result = super.scheduleWithFixedDelay(command, initialDelay, delay, unit); + if (logger.isLoggable(Level.FINE)) { + // remember which runnable was wrapped by the future because it will have been nulled out when afterExecute is called + wrappedRunnables.put(result, command); + } + return result; + } + @Override public String toString() { return super.toString() + "[name=" + name + "]"; diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareFutureTask.java b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareFutureTask.java index 61b9fecacb7..03664e8a4cd 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareFutureTask.java +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/ThreadPoolAwareFutureTask.java @@ -4,6 +4,8 @@ import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; import java.util.concurrent.ThreadPoolExecutor; +import java.util.logging.Level; +import java.util.logging.Logger; import com.sap.sse.util.ThreadPoolUtil; @@ -19,15 +21,27 @@ import com.sap.sse.util.ThreadPoolUtil; * @param */ public class ThreadPoolAwareFutureTask extends FutureTask implements KnowsExecutor { + private static final Logger logger = Logger.getLogger(ThreadPoolAwareFutureTask.class.getName()); private final KnowsExecutorAndTracingGet getHelper = new KnowsExecutorAndTracingGetImpl(); + private final Object callableOrRunnableIfLoggingFine; public ThreadPoolAwareFutureTask(ThreadPoolExecutor executor, Callable callable) { super(callable); + if (logger.isLoggable(Level.FINE)) { + callableOrRunnableIfLoggingFine = callable; + } else { + callableOrRunnableIfLoggingFine = null; + } getHelper.setExecutorThisTaskIsScheduledFor(executor); } public ThreadPoolAwareFutureTask(ThreadPoolExecutor executor, Runnable runnable, V result) { super(runnable, result); + if (logger.isLoggable(Level.FINE)) { + callableOrRunnableIfLoggingFine = runnable; + } else { + callableOrRunnableIfLoggingFine = null; + } getHelper.setExecutorThisTaskIsScheduledFor(executor); } @@ -40,4 +54,9 @@ public class ThreadPoolAwareFutureTask extends FutureTask implements Knows public V get() throws InterruptedException, ExecutionException { return getHelper.callGetAndTraceAfterEachTimeout(this); } + + @Override + public String toString() { + return super.toString()+(callableOrRunnableIfLoggingFine==null?"":(" "+callableOrRunnableIfLoggingFine.toString())); + } } From 46fea25b8f4ad080880447bcb405064b178021fd Mon Sep 17 00:00:00 2001 From: Adrian Riedel Date: Thu, 29 Sep 2016 09:31:59 +0200 Subject: [PATCH 66/97] marked new key and number strings as non-translatable accordingly --- .../res/values/preferences.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml b/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml index 03b2ed0d642..20f2003a35d 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml @@ -12,8 +12,8 @@ Battery Saving - msgSndInt - 0 + msgSndInt + 0 choose GPS update sending interval Choose a value as high as possible to preserve battery life while still maintaining a reasonable live experience, depending on your use case. Energy saving mode has been enabled automatically, GPS updates are being sent to the server every 20 seconds. You can change that by selecting an interval above. @@ -28,7 +28,7 @@ 20 seconds 60 seconds - + 0 5 10 From 186fdfb47b9f19e22a010605e260038aba07c331 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 10:30:23 +0200 Subject: [PATCH 67/97] removed unused constant Change-Id: I561c2f493ce816624e02cd411ad2e2538a9ad6c1 --- .../server/gateway/trackfiles/impl/SensorDataImportServlet.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/SensorDataImportServlet.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/SensorDataImportServlet.java index c6004de2610..b5dee8124a3 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/SensorDataImportServlet.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/SensorDataImportServlet.java @@ -37,7 +37,6 @@ import com.sap.sse.common.Util.Pair; public class SensorDataImportServlet extends AbstractFileUploadServlet { private static final long serialVersionUID = 1120226743039934620L; private static final Logger logger = Logger.getLogger(SensorDataImportServlet.class.getName()); - private static final int READ_BUFFER_SIZE = 1024 * 1024 * 1024; public void storeFixes(Iterable fixes, DeviceIdentifier deviceIdentifier) { try { From 80e5dba10a7139cb98aab1e344f894a779967231 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 10:30:53 +0200 Subject: [PATCH 68/97] fixed language issues in Javadoc comment Change-Id: I768672ec25e730598ec513266ab50b61be1321e6 --- .../gateway/trackfiles/impl/SensorDataImportServlet.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/SensorDataImportServlet.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/SensorDataImportServlet.java index b5dee8124a3..cf1a661dccd 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/SensorDataImportServlet.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/trackfiles/impl/SensorDataImportServlet.java @@ -31,8 +31,8 @@ import com.sap.sse.common.TimePoint; import com.sap.sse.common.Util.Pair; /** - * Import servlet for sensor data files. Importers are located through the OSGi service registry and mathed against the - * name provided by the upload formular. + * Import servlet for sensor data files. Importers are located through the OSGi service registry and matched against the + * name provided by the upload form. */ public class SensorDataImportServlet extends AbstractFileUploadServlet { private static final long serialVersionUID = 1120226743039934620L; From 2cea4720f726825cbe4aef7ae46685bf2d5662ed Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 11:14:07 +0200 Subject: [PATCH 69/97] most likely a fix for bug 3932: FixLoaderAndTracker.loadFixes didn't honor the timeRangeToLoad for competitor and mark tracks Change-Id: I50b1fc88d1a4091924507f5aaa2851c38de5e26d --- .../impl/fixtracker/FixLoaderAndTracker.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java index 84ffc36ce99..38e69d53a33 100755 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java @@ -197,8 +197,8 @@ public class FixLoaderAndTracker implements TrackingDataLoader { try { @SuppressWarnings({ "unchecked" }) DeviceMapping competitorMapping = (DeviceMapping) mapping; - gpsFixStore.loadCompetitorTrack(track, competitorMapping, getStartOfTracking(), - getEndOfTracking()); + gpsFixStore.loadCompetitorTrack(track, competitorMapping, timeRangeToLoad.from(), + timeRangeToLoad.to()); } catch (TransformationException | NoCorrespondingServiceRegisteredException e) { logger.log(Level.WARNING, "Could not load competitor track " + mapping.getMappedTo()); } @@ -211,12 +211,10 @@ public class FixLoaderAndTracker implements TrackingDataLoader { try { @SuppressWarnings("unchecked") DeviceMapping markMapping = (DeviceMapping) mapping; - TimePoint from = getStartOfTracking(); - TimePoint to = getEndOfTracking(); - gpsFixStore.loadMarkTrack(track, markMapping, from, to); + gpsFixStore.loadMarkTrack(track, markMapping, timeRangeToLoad.from(), timeRangeToLoad.to()); if (track.getFirstRawFix() == null) { - logger.fine("Loading mark positions from outside of start/end of tracking interval (" + from - + ".." + to + ") because no fixes were found in that interval"); + logger.fine("Loading mark positions from outside of start/end of tracking interval (" + timeRangeToLoad.from() + + ".." + timeRangeToLoad.to() + ") because no fixes were found in that interval"); // got an empty track for the mark; try again without constraining the mapping interval // by start/end of tracking to at least attempt to get fixes at all in case there were any // within the device mapping interval specified From 87185c7ef62a0a899451283ebda9483f18897ad3 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 11:41:06 +0200 Subject: [PATCH 70/97] avoid redundant calls to updateStartAndEndOfTracking after automatically adding start/end of tracking events to the race log Change-Id: Id8e8af1c8c124ad8a7ad16bf2eb45124da4ecbd5 --- .../domain/racelogtracking/impl/EndOfTrackingController.java | 1 - .../domain/racelogtracking/impl/StartOfTrackingController.java | 1 - 2 files changed, 2 deletions(-) diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/EndOfTrackingController.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/EndOfTrackingController.java index 5edb31040b6..530b53980fe 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/EndOfTrackingController.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/EndOfTrackingController.java @@ -48,7 +48,6 @@ public class EndOfTrackingController extends AbstractRaceChangeListener { if (!Util.equalsWithNull(trackedRace.getEndOfTracking(), newEndOfTracking)) { raceLog.add(new RaceLogEndOfTrackingEventImpl(newEndOfTracking, raceLogEventAuthor, raceLog.getCurrentPassId())); - trackedRace.updateStartAndEndOfTracking(/* waitForGPSFixesToLoad */ false); } } } diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/StartOfTrackingController.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/StartOfTrackingController.java index 40b81ffa3c0..be6c68f41ce 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/StartOfTrackingController.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/StartOfTrackingController.java @@ -46,7 +46,6 @@ public class StartOfTrackingController implements StartTimeChangedListener { if (!Util.equalsWithNull(trackedRace.getStartOfTracking(), newStartOfTracking)) { raceLog.add(new RaceLogStartOfTrackingEventImpl(newStartOfTracking, raceLogEventAuthor, raceLog.getCurrentPassId())); - trackedRace.updateStartAndEndOfTracking(/* waitForGPSFixesToLoad */ false); } } } From 753d5d8b14e03a38cac294042958088bd469c3ec Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 11:55:37 +0200 Subject: [PATCH 71/97] fixed CandidateFinderImpl.getCandidateDeltasAfterRaceStartTimeChange, now using the old and the new time range value correctly Change-Id: I54ff9359b44ab708ff75f0e577f00c560da2d0f3 --- .../markpassingcalculation/impl/CandidateFinderImpl.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java index cbb73005124..b82874e0663 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java @@ -1426,8 +1426,9 @@ public class CandidateFinderImpl implements CandidateFinder { final TimePoint newNonInferredStartTime = race.getStartOfRace(/* inferred */ false); final TimePoint newTimePointWhenToStartConsideringCandidates = getTimePointWhenToStartConsideringCandidates(newNonInferredStartTime); if (!Util.equalsWithNull(newTimePointWhenToStartConsideringCandidates, timeRangeForValidCandidates.from())) { + final TimePoint oldTimePointWhenToStartConsideringCandidates = timeRangeForValidCandidates.from(); timeRangeForValidCandidates = new TimeRangeImpl(newTimePointWhenToStartConsideringCandidates, timeRangeForValidCandidates.to()); - result = updateCandiatesAfterRaceTimeRangeChanged(newTimePointWhenToStartConsideringCandidates, timeRangeForValidCandidates.from()); + result = updateCandiatesAfterRaceTimeRangeChanged(newTimePointWhenToStartConsideringCandidates, oldTimePointWhenToStartConsideringCandidates); } else { result = Collections.emptyMap(); } @@ -1439,12 +1440,10 @@ public class CandidateFinderImpl implements CandidateFinder { TimePoint oldFinishedTime, TimePoint newFinishedTime) { final Map, Iterable>> result; final TimePoint newTimePointWhenToFinishConsideringCandidates = getTimePointWhenToFinishConsideringCandidates(newFinishedTime); - final TimePoint oldTimePointWhenToFinishConsideringCandidates = timeRangeForValidCandidates.to(); if (!Util.equalsWithNull(timeRangeForValidCandidates.to(), newTimePointWhenToFinishConsideringCandidates)) { + final TimePoint oldTimePointWhenToFinishConsideringCandidates = timeRangeForValidCandidates.to(); timeRangeForValidCandidates = new TimeRangeImpl(timeRangeForValidCandidates.from(), newTimePointWhenToFinishConsideringCandidates); - result = updateCandiatesAfterRaceTimeRangeChanged( - oldTimePointWhenToFinishConsideringCandidates, - newTimePointWhenToFinishConsideringCandidates); + result = updateCandiatesAfterRaceTimeRangeChanged(oldTimePointWhenToFinishConsideringCandidates, newTimePointWhenToFinishConsideringCandidates); } else { result = Collections.emptyMap(); } From 71ac387703ba7c931657898b3af951c2ed4b01b3 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 13:57:38 +0200 Subject: [PATCH 72/97] obtain lock before try block Change-Id: Ia16d31d4ec82ed9a37c7c6fd6634e8918af1b2b9 --- .../racelogtracking/impl/fixtracker/FixLoaderAndTracker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java index 38e69d53a33..e7fb40e65d6 100755 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java @@ -296,8 +296,8 @@ public class FixLoaderAndTracker implements TrackingDataLoader { ThreadPoolUtil.INSTANCE.getDefaultForegroundTaskThreadPoolExecutor().execute(new Runnable() { @Override public void run() { + trackedRace.lockForSerializationRead(); try { - trackedRace.lockForSerializationRead(); if (!preemptiveStopRequested.get()) { setStatusAndProgress(TrackedRaceStatusEnum.LOADING, 0.5); synchronized (FixLoaderAndTracker.this) { From b555cbebd8e871d98e87418dfa6eb4a11ce28069 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 13:58:14 +0200 Subject: [PATCH 73/97] fire gpsFixReceived on listener only if the fix was really added to the track Change-Id: I6eeb248e43a77c771ca1fac124195cbacadd1b4d --- .../sap/sailing/domain/tracking/impl/GPSFixTrackImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/GPSFixTrackImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/GPSFixTrackImpl.java index b89c60c9421..2600557528a 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/GPSFixTrackImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/GPSFixTrackImpl.java @@ -1075,8 +1075,10 @@ public class GPSFixTrackImpl extends MappedTra unlockAfterRead(); } } - for (GPSTrackListener listener : getListeners()) { - listener.gpsFixReceived(fix, getTrackedItem(), firstFixInTrack); + if (result) { + for (GPSTrackListener listener : getListeners()) { + listener.gpsFixReceived(fix, getTrackedItem(), firstFixInTrack); + } } return result; } From 723b8504c1288f5a08eee15d2aab0d1b4449074d Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 29 Sep 2016 12:16:16 +0000 Subject: [PATCH 74/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/Polars_StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/Polars_StringMessages_ru.properties.xlf | 2 +- .../XLF/Polars_StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf index ff0bf12c40f..30c293b19a1 100644 --- a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +

    H4sIAAAAAAAAAF2PTQrCQAyF93OKXEH32TiiFBSGunAdOrEObTPQaaHHd/6s4Cbv4yW8JMaPNOs3OTmgSRyU2a0jnqgbWCzUVksdaz+uk+AP1Y37RixvGAEylYwzLVRCIWExw3fN1TwubsMoEFU9ndiWpGdMBBmz2QTt5eUsy4I7QR66M4V15ika8TQZMBVVb67b/j74ALSew+fwAAAA diff --git a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf index 503acb05fac..8be27d5f037 100644 --- a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2PTQrCQAyF93OKXEH32TiiFBSGunAdOrEObTPQaaHHd/6s4Cbv4yW8JMaPNOs3OTmgSRyU2a0jnqgbWCzUVksdaz+uk+AP1Y37RixvGAEylYwzLVRCIWExw3fN1TwubsMoEFU9ndiWpGdMBBmz2QTt5eUsy4I7QR66M4V15ika8TQZMBVVb67b/j74ALSew+fwAAAA diff --git a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf index a950541e642..96364c558e9 100644 --- a/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.polars.datamining/resources/stringmessages/XLF/Polars_StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2PTQrCQAyF93OKXEH32TiiFBSGunAdOrEObTPQaaHHd/6s4Cbv4yW8JMaPNOs3OTmgSRyU2a0jnqgbWCzUVksdaz+uk+AP1Y37RixvGAEylYwzLVRCIWExw3fN1TwubsMoEFU9ndiWpGdMBBmz2QTt5eUsy4I7QR66M4V15ika8TQZMBVVb67b/j74ALSew+fwAAAA From 574638fbcfeb98882d4436956fd14f90e0aa6630 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 29 Sep 2016 12:16:33 +0000 Subject: [PATCH 75/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf | 2 +- .../XLF/Sailing_StringMessages_zh_CN.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_ru.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf index 8ed2d111c7f..f6bd58a3702 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf index 17ea41f10ae..c0f1ee8dbdc 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== diff --git a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf index 475687b735f..1d2d562e52f 100644 --- a/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.datamining/resources/stringmessages/XLF/Sailing_StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVVTW8aMRC9+1fMpVJyiATptypXAiIIFfkQoEY9mt0BLBYb2SaU/vrO2Muuk0b04p1582zPjO23sx1iKWc8ijjO0cywsKb0fVxahykG3Y6HRQTEjfZBmQLnTj1jRbNPAJwQca+2KHkQE1zNjzuU9AU2xEzpanwj+QP3++0CnfiFykkemJ2wyK/D9ypoa1Slw1FmtugVzprjVtZfMcWVCkHJ+isGdu889hwqmUxgW/StCoNKeS/ZgmiKYYUYZBzFVBUoeaAVtjsMOlgnWzMuEOeKOaqt5IESVyW6hVWu5Mq0Wd3YrdJmisFpfEY3WJMnM5qP+5wjc9xzS86vuPJi9Dgb6t/naMS4Igqtd6fc5pFKJua5CUyDmpdSnaLfV+F/CUOipSkPy7Zt/60U7BJaus9bOnJ2v8ubBxHJKXmUe8aNyWt9URAT8tzibaPti/aQRztP/Tr1TTxpU86CQ7MK67Hpo9rTUwiSYTjhoA2cIqK/DB05UNWWra6c6NU6gNKO3evaXTjEP8jIezlCEyrMoA/yzlJBKuTgRzl06NcZ8knS9tasMuizvKXl4UC5sftFjlQVA19P3FUNdDuEWJdy7Mqf2laUBvgGu5a3e+d0oQzS86ro8T3jrCARGJv0SmoMPIPcAMd34KJDWuHDN+jCgY4yXKb+sZC8bp6P6sKdW4ZGWXphFhQxGmEJlpIiBFRIRtKqpzWJFbt8wEmnDgQlCp/zm4qW1n4ta/W6U2U2vTDUlDXfGMk+7xoRYEgkWXpY3lFX9nSHvUwI36AGa1hzVWxyRvSb6A9Njcqi0W+ij0hSF44D7YrqBa0OQB2JWY/oJfkHN7HeEzfmHSGwDhLYKrflHiS10uWb7W4IwAy4eMfbTuI9v2zzs6Xeb4faaL/Os4swJDwrhw48L4LdfzPvYzggmuYEeqasN3irJLjo1scCV9/rHS/F2NOfqNjQr2nsoTabLNpnHwUxS6iNQNLK9qTd5jU57plofwGIogiCRAcAAA== diff --git a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf index 99debd4f3e0..6edd48daec2 100644 --- a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAD2MQQoCMQxF9znFLHWnB8hicCXSjYMHKBpLsE2hTQdhmLsbpuoieT958MeZig+EYyc4erAX7ICpJbQB59+cLH8JjqXfnXDKTRS3bQ1KpWKCi2St+BKzMdJdWQL+Yha4Um1RJw7CT6aCy2Eddstx3cP/d5absG6GZTAHH6Y6WeOvAAAA diff --git a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf index f7cbb646a22..6b2548b8a6a 100644 --- a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAD2MQQoCMQxF9znFLHWnB8hicCXSjYMHKBpLsE2hTQdhmLsbpuoieT958MeZig+EYyc4erAX7ICpJbQB59+cLH8JjqXfnXDKTRS3bQ1KpWKCi2St+BKzMdJdWQL+Yha4Um1RJw7CT6aCy2Eddstx3cP/d5absG6GZTAHH6Y6WeOvAAAA diff --git a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf index 7bca09b45c8..4c9de70e956 100644 --- a/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.datamining/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAD2MQQoCMQxF9znFLHWnB8hicCXSjYMHKBpLsE2hTQdhmLsbpuoieT958MeZig+EYyc4erAX7ICpJbQB59+cLH8JjqXfnXDKTRS3bQ1KpWKCi2St+BKzMdJdWQL+Yha4Um1RJw7CT6aCy2Eddstx3cP/d5absG6GZTAHH6Y6WeOvAAAA From d198a4dd3ff87fa42e0539d9ce37812038a0c623 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 29 Sep 2016 12:16:52 +0000 Subject: [PATCH 76/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/StringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_ru.properties.xlf | 2 +- .../stringmessages/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf index 20d56f87827..7bd020e1654 100644 --- a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAKVUTW/bMAy9+1cQ2CEbkAVpdwvgQ5YuWIChDZr2sKPs0A1XWTIk2VkQ5L+PkvNhtzZarBfbEh/f4yNlGZHiQt3jk3BO3GU/KlQuNrwJ+/EBSIGpQzDYXx0GoDNAD+Hl9WEQmZA9l4iun+Tz/tvhy5tUEsUaTaKFWZ8YGlsMGrdzmCJqJq02enuPtpTO/iL1/EBOYuw3WTbshmLtXYWmIty+xPgY6GMwQC+svOiAX0AeMFVC7iy90vZNEMdYFDHczaSw1qfMSZHd4HpVJn8wdbHfg0wb8ChIPSz0byMsZEcsfAWFZ0sgKkFSJBKjTzCewJn+VuQ4hKtJ0L9BmxoqHGnVXcB3vd7Ftw3ajiJ4fNxyEAYvoqOGoVWqDc60MeyEhU6emqyt3A6NPg+NIXdaeSH9ATepzgt05LRZMhJt3aCTl9k5GjgKD1kfJwOSFHpaUZ+NYOVC1zuPbsVg4V1y7KJV93+NIW0p9dbeM4de8c5BtLXePFaPBSeQevLH9WRmWv9VHWPdkpRgnTAOrObS3vdTDOF6Ao5y7JYNNuavxXzdDUFRFEb/pVw4lDtgJN9q7MSWyVloobhmBvBn/FuXwTX3CqliKVDaUUZpCHOvjM5hNV3Cirviw+GCcZTaETxocKVRfBtm7awhFDwki1CRJQc7XRooLRrg0jLiaXNZboP+9DxDglJvR5GPL+tw/Oixx0VEeWGIb+FF/Y74WYl0Fy/rd2SFLF1t5qeQUvumDKN/18D20lAGAAA= diff --git a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf index 96201c35a31..305b144b8b5 100644 --- a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAKVUTW/bMAy9+1cQ2CEbkAVpdwvgQ5YuWIChDZr2sKPs0A1XWTIk2VkQ5L+PkvNhtzZarBfbEh/f4yNlGZHiQt3jk3BO3GU/KlQuNrwJ+/EBSIGpQzDYXx0GoDNAD+Hl9WEQmZA9l4iun+Tz/tvhy5tUEsUaTaKFWZ8YGlsMGrdzmCJqJq02enuPtpTO/iL1/EBOYuw3WTbshmLtXYWmIty+xPgY6GMwQC+svOiAX0AeMFVC7iy90vZNEMdYFDHczaSw1qfMSZHd4HpVJn8wdbHfg0wb8ChIPSz0byMsZEcsfAWFZ0sgKkFSJBKjTzCewJn+VuQ4hKtJ0L9BmxoqHGnVXcB3vd7Ftw3ajiJ4fNxyEAYvoqOGoVWqDc60MeyEhU6emqyt3A6NPg+NIXdaeSH9ATepzgt05LRZMhJt3aCTl9k5GjgKD1kfJwOSFHpaUZ+NYOVC1zuPbsVg4V1y7KJV93+NIW0p9dbeM4de8c5BtLXePFaPBSeQevLH9WRmWv9VHWPdkpRgnTAOrObS3vdTDOF6Ao5y7JYNNuavxXzdDUFRFEb/pVw4lDtgJN9q7MSWyVloobhmBvBn/FuXwTX3CqliKVDaUUZpCHOvjM5hNV3Cirviw+GCcZTaETxocKVRfBtm7awhFDwki1CRJQc7XRooLRrg0jLiaXNZboP+9DxDglJvR5GPL+tw/Oixx0VEeWGIb+FF/Y74WYl0Fy/rd2SFLF1t5qeQUvumDKN/18D20lAGAAA= diff --git a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf index 73c7acc8d0b..b3ad43de1bb 100644 --- a/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.server/resources/stringmessages/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAKVUTW/bMAy9+1cQ2CEbkAVpdwvgQ5YuWIChDZr2sKPs0A1XWTIk2VkQ5L+PkvNhtzZarBfbEh/f4yNlGZHiQt3jk3BO3GU/KlQuNrwJ+/EBSIGpQzDYXx0GoDNAD+Hl9WEQmZA9l4iun+Tz/tvhy5tUEsUaTaKFWZ8YGlsMGrdzmCJqJq02enuPtpTO/iL1/EBOYuw3WTbshmLtXYWmIty+xPgY6GMwQC+svOiAX0AeMFVC7iy90vZNEMdYFDHczaSw1qfMSZHd4HpVJn8wdbHfg0wb8ChIPSz0byMsZEcsfAWFZ0sgKkFSJBKjTzCewJn+VuQ4hKtJ0L9BmxoqHGnVXcB3vd7Ftw3ajiJ4fNxyEAYvoqOGoVWqDc60MeyEhU6emqyt3A6NPg+NIXdaeSH9ATepzgt05LRZMhJt3aCTl9k5GjgKD1kfJwOSFHpaUZ+NYOVC1zuPbsVg4V1y7KJV93+NIW0p9dbeM4de8c5BtLXePFaPBSeQevLH9WRmWv9VHWPdkpRgnTAOrObS3vdTDOF6Ao5y7JYNNuavxXzdDUFRFEb/pVw4lDtgJN9q7MSWyVloobhmBvBn/FuXwTX3CqliKVDaUUZpCHOvjM5hNV3Cirviw+GCcZTaETxocKVRfBtm7awhFDwki1CRJQc7XRooLRrg0jLiaXNZboP+9DxDglJvR5GPL+tw/Oixx0VEeWGIb+FF/Y74WYl0Fy/rd2SFLF1t5qeQUvumDKN/18D20lAGAAA= From d4567be6b9810118eda1a87cd3baa5aa9bead791 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 29 Sep 2016 12:17:32 +0000 Subject: [PATCH 77/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../client/StringMessages_ja.properties.xlf | 412 ++++++++++++++++- .../client/StringMessages_ru.properties.xlf | 412 ++++++++++++++++- .../StringMessages_zh_CN.properties.xlf | 417 +++++++++++++++++- .../ui/client/StringMessages_ja.properties | 101 ++++- .../ui/client/StringMessages_ru.properties | 101 ++++- .../ui/client/StringMessages_zh_CN.properties | 104 ++++- 6 files changed, 1479 insertions(+), 68 deletions(-) diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf index 0462ffdd176..52cf650493c 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ja.properties.xlf @@ -1,12 +1,12 @@ - +
    - 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 - +
    @@ -1985,27 +1985,27 @@ Subtitle - サブタイトル + サブタイトル Copyright - 著作権 + 著作権 Width (pixel) - 幅 (ピクセル) + 幅 (ピクセル) Height (pixel) - 高さ (ピクセル) + 高さ (ピクセル) Tags - タグ + タグ Size - サイズ + サイズ Duration (h:mm:ss.ms) @@ -4535,6 +4535,10 @@ Use start time inference from start mark passings スタートマーク通過からの推定スタート時刻を使用 + + Control tracking from start and finish times + スタート時刻およびフィニッシュ時刻からの追跡の制御 + Number of queue messages sent 送信済キューメッセージ数 @@ -6035,25 +6039,25 @@ utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions - + https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app - https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app + https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app - + https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app - https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app + https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app https://play.google.com/intl/en/badges/images/generic/en-play-badge.png https://play.google.com/intl/en/badges/images/generic/en-play-badge.png - + http://appstore.com/sapsailinsight - http://appstore.com/sapsailinsight + http://appstore.com/sapsailinsight http://appstore.com/stgtrainingstagebuch @@ -6453,15 +6457,387 @@ Active regatta configuration was set, using the "By Marks" course designer. - "マーク別" コースデザイナーを使用して、有効なレガッタ設定が行われました。 + "マーク別" コースデザイナーを使用して、有効なレガッタ設定が行われました。 Active regatta configuration already exists, but with the wrong course designer setting.\nWould you like to override course designer setting to "By Marks"? - 有効なレガッタ設定がすでに登録されていますが、コースデザイナーの設定が適切でありません。\n"マーク別" へのコースデザイナー設定を上書きしますか。 + 有効なレガッタ設定がすでに登録されていますが、コースデザイナーの設定が適切でありません。\n"マーク別" へのコースデザイナー設定を上書きしますか。 All races have been denoted for racelog tracking. - すべてのレースがレースログ追跡に表示されています。 + すべてのレースがレースログ追跡に表示されています。 + + + Hint: You can also use the leaderboard (on the LEADERBOARD tab) to select the competitors displayed in the chart. + ヒント: リーダーボード (リーダーボードタブ内) を使用して、チャートに表示する競技者を選択することもできます。 + + + Choose a language + 言語を選択してください + + + Solutions + ソリューション + + + Blog + ブログ + + + Official event website + 公式イベント Web サイト + + + More info + 追加情報 + + + View analysis + 分析の表示 + + + Overall leaderboard + 全体リーダーボード + + + Please try again... + 再試行してください... + + + Reload page + ページのリロード + + + An error occured while loading the data for this page. + このページのデータのロードでエラーが発生しました。 + + + Regatta details + レガッタ詳細 + + + Choose chart type + チャートタイプ選択 + + + What''s new + 最新情報 + + + SAP Sailing + SAP Sailing + + + Search + 検索 + + + Days + 日 + + + Days + 日 + + + Hrs + 時間 + + + Min + 分 + + + Sec + 秒 + + + Day + 曜日 + + + Hour + 時 + + + Min + 分 + + + Sec + 秒 + + + Live + ライブ + + + Watch now + 現在視聴可能 + + + Upcoming + 予定 + + + Last Score Update + 前回スコア更新 + + + Not Tracked + 未追跡 + + + Jobs + 採用 + + + © 2011-2016 SAP Sailing Analytics + © 2011-2016 SAP Sailing Analytics + + + SAP Sailing in + SAP Sailing - + + + Legal Disclosure + 利用規約 + + + Privacy + 個人情報保護 + + + Feedback + フィードバック + + + + Search + 検索 + + + Show All Events + 全イベント表示 + + + Latest Events from the Sailing World + Sailing World からの最新イベント + + + Get lost in the latest and most beautiful impressions from your favorite sailing event. + お気に入りのセーリングイベントのすてきな最新画像を楽しんでください。 + + + Photographers love Sailing + 最新のセーリング画像 + + + Immerse yourself in the world of sailing and check out our latest events for more videos. + 最新イベントの動画にアクセスしてセーリングの世界に浸ってください。 + + + Recent Video Entries + 最新のセーリング動画 + + + Search + 検索 + + + Your Search + 検索対象 + + + Type in your searchkey + 検索キーを入力 + + + Recent + 最新 + + + SAP in Sailing + SAP in Sailing + + + SAP Sailing Analytics + SAP Sailing Analytics + + + SAP Sailing Race Manager + SAP Sailing Race Manager + + + SAP Sail InSight + SAP Sail InSight + + + SAP Sailing Buoy Pinger + SAP Sailing Buoy Pinger + + + Post-Race Analytics + レース後分析 + + + Training Diary + トレーニング日記 + + + Strategy Simulator + 戦略シミュレータ + + + SAP in Sailing + SAP in Sailing + + + Sailing provides the perfect platform for SAP to showcase solutions and help the sport run like never before. SAP’s involvement in the sport has transformed the sailing experience by providing tools, which: + セーリングは、SAP にとってソリューションを紹介するためのプラットフォームとしてうってつけのものであり、これまでになかったやり方でスポーツの運営を支援しています。SAP によるスポーツへの関与は、以下のことを行うツールを提供することによってセーリングから得られる体験を別次元のものに変えました。 + + + Help sailors analyze performance and optimize strategy + パフォーマンスの分析と戦略の最適化でセーラーを支援します + + + Bring fans closer to the action + アクションをファンにとって身近なものにします + + + Provide the media with information and insights to deliver a greater informed commentary + 情報豊富なすばらしい解説を行うための情報とインサイトを報道関係者に提供します + + + SAP has a longstanding involvement with sailing and has established a portfolio spanning across teams and regattas, including: + SAP は、長年にわたりセーリングに関与しており、以下のようなチームおよびレガッタと関係を構築してきました。 + + + Official Technology Partner of Travemünder Woche + Travemünder Woche の公式テクノロジーパートナー + + + Technical Partner of the European Sailing Leagues + 欧州セーリング連盟 (European Sailing Leagues) のテクノロジーパートナー + + + Title sponsor of the SAP Extreme Sailing Team + SAP Extreme Sailing Team のタイトルスポンサー + + + Official Technical Partner of the Extreme Sailing Series + Extreme Sailing Series の公式テクニカルパートナー + + + Premium Partner of Germany’s national sailing team, Audi Sailing Team Germany + ドイツ代表セーリングチームである Audi Sailing Team Germany のプレミアムパートナー + + + Premium Partner of the world’s largest regatta, Kieler Woche (Kiel Week) + 世界最大のレガッタである Kieler Woche (Kiel Week) のプレミアムパートナー + + + Title sponsor of the SAP 5O5 World Championships + SAP 5O5 World Championships のタイトルスポンサー + + + SAP Sailing Analytics + SAP Sailing Analytics + + + By delivering real time analytics around race rankings, speeds, maneuvers, bearings etc., SAP is helping to simplify and demystify the complex sport of sailing. + レースランキング、速力、操縦、ベアリングなどに関係するリアルタイム分析を提供することにより、SAP はセーリングという複雑なスポーツを簡略に分かりやすく説明することをお手伝いしています。 + + + SAP Sailing Analytics provide insights and transparency to the world of sailing by utilizing Cloud and In-Memory Technology, processing GPS and wind measurement data in real time and visualizing contents in various frontends accessible from anywhere. + SAP Sailing Analytics は、クラウドおよびインメモリ技術を活用し、リアルタイムで GPS および風計測データを処理し、どこからでもアクセスできるさまざまなフロントエンドでコンテンツを視覚化することによってセーリングの世界にインサイトと透明性を提供します。 + + + Read More + 続きを読む + + + SAP Sailing Race Manager + SAP Sailing Race Manager + + + The SAP Sailing Race Manager delivers greater efficiency and control to race organizers by automating and simplifying their manual tasks and communication during running sailing regattas. The Race Committee App helps simplify the operation of running and managing race events to help race committees operate smarter. + SAP Sailing Race Manager は、セーリングレガッタ運営中にレース組織者が手動で行う作業や連絡業務を自動化/簡略化することによって効率と統制を向上させます。Race Committee アプリは、レースイベントの運営/管理業務を簡略化するのに役立ち、レース委員会がより円滑に運営されるよう支援します。 + + + Learn More + 詳細情報 + + + SAP Sail InSight + SAP Sail InSight + + + With the SAP Sail InSight mobile app for iPhone, iPad and Android phones, sailboat racers can manage their regatta participation and performance anywhere and anytime. This app connects to the SAP Sailing Analytics solution and enables racers to sign in to an SAP Sail InSight-enabled regatta, track their location together with performance indicators like speed or distance sailed, and analyze their performance. + iPhone、iPad、および Android フォン向け SAP Sail InSight モバイルアプリにより、ヨット競技者はいつでもどこでもレガッタ参加やパフォーマンスを管理することができます。このアプリは SAP Sailing Analytics ソリューションに接続され、競技者が SAP Sail InSight 対応のレガッタへの受付を行い、自分がどこにいるかを艇速や帆走距離などのパフォーマンス指標とともに追跡し、自らのパフォーマンスを分析することを可能にします。 + + + Learn More + 詳細情報 + + + SAP Sailing Buoy Pinger + SAP Sailing Buoy Pinger + + + With the SAP Sailing Buoy Pinger mobile app for Android phones, sailboat race managers can simplify the positioning of race marks and communication with the mark layers anywhere and anytime. This app connects to the SAP Sailing Analytics solution and allows regatta managers to track the geographical position of their race marks, enabling the use of the SAP Sail InSight mobile app by sailors participating in the regatta. + Android フォン向け SAP Sailing Buoy Pinger モバイルアプリにより、ヨットレース運営者はいつでもどこでもレース用のマークの位置決めや、マーク設置担当者とのやり取りを簡略化することができます。このアプリは SAP Sailing Analytics ソリューションに接続され、レガッタ運営者がレース用のマークの地理的位置を追跡することを可能にし、レガッタに参加しているセーラーが SAP Sail InSight モバイルアプリを使用できるようにします。 + + + Learn More + 詳細情報 + + + Post-Race Analytics + レース後分析 + + + Access to data collected at sailing events gives sailors the opportunity to assess and analyse their performances to help develop strategies and sail better. + セーリングイベントで収集されたデータへのアクセスにより、戦略の策定や帆走の向上に役立つ、セーラーがそのパフォーマンスを評価および分析する機会が提供されます。 + + + SAP Business Analytics solutions provide sailors, coaches, fans and media with tools to browse and analyse historical data across many regattas and races. SAP HANA allows them to learn about performance patterns, tendencies and sailor profiles in a simple, fast and efficient way in order to optimize their own performance and develop successful strategies for future regattas. + SAP Business Analytics ソリューションは、多くのレガッタおよびレースにわたって履歴データを照会および分析するツールをセーラー、コーチ、ファン、そして報道関係者に提供します。SAP HANA は、こうした人たちが自身のパフォーマンスを最適化し、予定されているレガッタで成功を収める戦略を策定するために簡単、迅速、かつ効率的な方法でパフォーマンスのパターン、傾向、およびセーラーのプロファイルを知ることを可能にします。 + + + SAP Sail Better – STG Training Diary + SAP Sail Better – STG Training Diary + + + The STG Training Diary supports the daily documentation and analysis of an athlete’s physical condition and training efforts in the areas of water training, physical training, boat work, mental, theory as well as other activities like education or travel. + STG Training Diary は、選手の体調、ならびに水上トレーニング、身体的トレーニング、操艇、メンタル、理論、さらに教育や移動などのその他の活動の領域におけるトレーニングへの取り組みの日々の記録および分析をサポートします。 + + + Strategy Simulator + 戦略シミュレータ + + + Choosing the right strategy can provide great competitive advantage during a race. The Strategy Simulator simplifies determining the best sailing strategy for various wind conditions and water currents. Since wind and current can be changed in the simulation right away, the robustness of a strategy can be easily evaluated even for uncertain weather conditions. + 適切な戦略を選択すれば、レース中に大きな競争上の優位性を得ることが可能です。Strategy Simulator により、さまざまな風況および水流に対して最良のセーリング戦略を決定することが容易になります。風と水流をシミュレーションで直ちに変更することができるため、不確かな気象条件に対しても戦略の確かさを簡単に評価することができます。 + + + Learn More + 詳細情報 + + + Imprint + 刻印 + + + Last fix + 最終フィックス + + + Filter device mappings + デバイスマッピングのフィルタリング
    diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf index 63b015efd3a..960f9055778 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties.xlf @@ -1,12 +1,12 @@ - +
    - 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 - +
    @@ -1985,27 +1985,27 @@ Subtitle - Подзаголовок + Подзаголовок Copyright - Copyright + Copyright Width (pixel) - Ширина (в пикселях) + Ширина (в пикселях) Height (pixel) - Высота (в пикселях) + Высота (в пикселях) Tags - Теги + Теги Size - Размер + Размер Duration (h:mm:ss.ms) @@ -4535,6 +4535,10 @@ Use start time inference from start mark passings Использовать вывод о времени старта из прохождений стартовой отметки + + Control tracking from start and finish times + Контролировать отслеживание от времени старта и финиша + Number of queue messages sent Число отправленных сообщений очереди @@ -6035,25 +6039,25 @@ utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions - + https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app - https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app + https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app - + https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app - https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app + https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app https://play.google.com/intl/en/badges/images/generic/en-play-badge.png https://play.google.com/intl/en/badges/images/generic/en-play-badge.png - + http://appstore.com/sapsailinsight - http://appstore.com/sapsailinsight + http://appstore.com/sapsailinsight http://appstore.com/stgtrainingstagebuch @@ -6453,15 +6457,387 @@ Active regatta configuration was set, using the "By Marks" course designer. - Активная конфигурация регаты была настроена с использованием дизайнера курса "По отметкам". + Активная конфигурация регаты была настроена с использованием дизайнера курса "По отметкам". Active regatta configuration already exists, but with the wrong course designer setting.\nWould you like to override course designer setting to "By Marks"? - Активная конфигурация регаты уже существует, но с неверно выбранным дизайнером курса.\nПереопределить выбор дизайнера курса на "По отметкам"? + Активная конфигурация регаты уже существует, но с неверно выбранным дизайнером курса.\nПереопределить выбор дизайнера курса на "По отметкам"? All races have been denoted for racelog tracking. - Отслеживание журнала всех гонок отменено. + Отслеживание журнала всех гонок отменено. + + + Hint: You can also use the leaderboard (on the LEADERBOARD tab) to select the competitors displayed in the chart. + Совет: таблицу лидеров (на вкладке ТАБЛИЦА ЛИДЕРОВ) также можно использовать для выбора участников, отображаемых в диаграмме. + + + Choose a language + Выбор языка + + + Solutions + Решения + + + Blog + Блог + + + Official event website + Официальный веб-сайт события + + + More info + Больше сведений + + + View analysis + Просмотреть анализ + + + Overall leaderboard + Общая таблица лидеров + + + Please try again... + Повторите попытку... + + + Reload page + Перезагрузить страницу + + + An error occured while loading the data for this page. + При загрузке данных для этой страницы возникла ошибка. + + + Regatta details + Подробности регаты + + + Choose chart type + Выберите тип диаграммы + + + What''s new + Новые возможности + + + SAP Sailing + SAP Sailing + + + Search + Поиск + + + Days + дн. + + + Days + дн. + + + Hrs + ч. + + + Min + мин. + + + Sec + сек. + + + Day + дн. + + + Hour + ч. + + + Min + мин. + + + Sec + сек. + + + Live + Активно + + + Watch now + Смотреть сейчас + + + Upcoming + Скоро + + + Last Score Update + Последнее обновление оценок + + + Not Tracked + Не отслеживается + + + Jobs + Работа + + + © 2011-2016 SAP Sailing Analytics + © SAP Sailing Analytics, 2011–2016. + + + SAP Sailing in + Язык SAP Sailing + + + Legal Disclosure + Раскрытие юридической информации + + + Privacy + Конфиденциальность + + + Feedback + Обратная связь + + + + Search + Поиск + + + Show All Events + Показать все события + + + Latest Events from the Sailing World + Последние события в мире парусного спорта + + + Get lost in the latest and most beautiful impressions from your favorite sailing event. + Погрузитесь в новейшие и прекраснейшие впечатления от избранного события в мире парусного спорта. + + + Photographers love Sailing + Фотографы любят паруса + + + Immerse yourself in the world of sailing and check out our latest events for more videos. + Погрузитесь в мир парусного спорта и просмотрите другие видео наших последних событий. + + + Recent Video Entries + Последние видеозаписи + + + Search + Поиск + + + Your Search + Ваш поиск + + + Type in your searchkey + Введите ключ поиска + + + Recent + Недавние + + + SAP in Sailing + SAP в парусном спорте + + + SAP Sailing Analytics + SAP Sailing Analytics + + + SAP Sailing Race Manager + SAP Sailing Race Manager + + + SAP Sail InSight + SAP Sail InSight + + + SAP Sailing Buoy Pinger + SAP Sailing Buoy Pinger + + + Post-Race Analytics + Аналитика после гонки + + + Training Diary + Дневник тренировок + + + Strategy Simulator + Симулятор стратегии + + + SAP in Sailing + SAP в парусном спорте + + + Sailing provides the perfect platform for SAP to showcase solutions and help the sport run like never before. SAP’s involvement in the sport has transformed the sailing experience by providing tools, which: + Парусный спорт предоставляет отличную платформу для демонстрации решений SAP и беспрецедентной помощи развитию спорта. Вовлеченность SAP преобразила парусный спорт, предоставив инструменты, которые: + + + Help sailors analyze performance and optimize strategy + Помогают мореходам анализировать эффективность и оптимизировать стратегию. + + + Bring fans closer to the action + Делают болельщиков ближе к действию. + + + Provide the media with information and insights to deliver a greater informed commentary + Предоставляют информацию и аналитику для более информированного комментирования. + + + SAP has a longstanding involvement with sailing and has established a portfolio spanning across teams and regattas, including: + За немалое время причастности к парусному спорту компанией SAP накоплено солидное портфолио сотрудничества с разными командами регатами, включая: + + + Official Technology Partner of Travemünder Woche + Официальный технологический партнер Travemünder Woche + + + Technical Partner of the European Sailing Leagues + Технический партнер Европейской лиги парусного спорта + + + Title sponsor of the SAP Extreme Sailing Team + Титульный спонсор команды SAP Extreme Sailing Team + + + Official Technical Partner of the Extreme Sailing Series + Официальный технический партнер серии Extreme Sailing Series + + + Premium Partner of Germany’s national sailing team, Audi Sailing Team Germany + Премиальный партнер национальной команды Германии по парусному спорту, Audi Sailing Team Germany + + + Premium Partner of the world’s largest regatta, Kieler Woche (Kiel Week) + Премиальный партнер крупнейшей в мире регаты Kieler Woche (Кильская неделя) + + + Title sponsor of the SAP 5O5 World Championships + Титульный спонсор чемпионатов мира SAP 5O5 + + + SAP Sailing Analytics + SAP Sailing Analytics + + + By delivering real time analytics around race rankings, speeds, maneuvers, bearings etc., SAP is helping to simplify and demystify the complex sport of sailing. + Предоставляя аналитику по данным о рангах в гонке, скоростях, маневрах, ветрах и т. д. в режиме реального времени, SAP помогает упростить и демистифицировать сложный парусный спорт. + + + SAP Sailing Analytics provide insights and transparency to the world of sailing by utilizing Cloud and In-Memory Technology, processing GPS and wind measurement data in real time and visualizing contents in various frontends accessible from anywhere. + SAP Sailing Analytics делает мир парусного спорта понятным и прозрачным, используя облако и технологию In-Memory, обработку данных GPS и параметров ветра в реальном времени, а также визуализацию контекста в разных пользовательских интерфейсах, доступных где угодно. + + + Read More + См. также + + + SAP Sailing Race Manager + SAP Sailing Race Manager + + + The SAP Sailing Race Manager delivers greater efficiency and control to race organizers by automating and simplifying their manual tasks and communication during running sailing regattas. The Race Committee App helps simplify the operation of running and managing race events to help race committees operate smarter. + Приложение SAP Sailing Race Manager повышает уровень эффективности и контроля для организаторов гонки за счет автоматизации и упрощения выполняемых вручную задач и общения во время проведения парусных регат. Приложение Race Committee помогает упростить проведение событий и управление ими, освобождая для оргкомитета время на лучшую проработку деталей. + + + Learn More + Узнать больше + + + SAP Sail InSight + SAP Sail InSight + + + With the SAP Sail InSight mobile app for iPhone, iPad and Android phones, sailboat racers can manage their regatta participation and performance anywhere and anytime. This app connects to the SAP Sailing Analytics solution and enables racers to sign in to an SAP Sail InSight-enabled regatta, track their location together with performance indicators like speed or distance sailed, and analyze their performance. + С помощью мобильного приложения SAP Sail InSight для смартфонов iPhone, iPad и Android яхтсмены гонок могут управлять своим участием и эффективностью в регате откуда и когда угодно. Это приложение подключается к решению SAP Sailing Analytics и позволяет яхтсменам выполнять вход в регаты, использующие SAP Sail InSight, отслеживать свое местоположение вместе с индикаторами эффективности, такими как скорость или пройденное расстояние, а также анализировать эффективность. + + + Learn More + Узнать больше + + + SAP Sailing Buoy Pinger + SAP Sailing Buoy Pinger + + + With the SAP Sailing Buoy Pinger mobile app for Android phones, sailboat race managers can simplify the positioning of race marks and communication with the mark layers anywhere and anytime. This app connects to the SAP Sailing Analytics solution and allows regatta managers to track the geographical position of their race marks, enabling the use of the SAP Sail InSight mobile app by sailors participating in the regatta. + Мобильное приложение SAP Sailing Buoy Pinger для смартфонов Android позволяет руководителям парусных гонок упростить позиционирование отметок и общение с установщиками отметок откуда и когда угодно. Это приложение подключается к решению SAP Sailing Analytics и позволяет руководителям гонок отслеживать географическое местоположение гоночных отметок, обеспечивая использование мобильного приложения SAP Sail InSight для яхтсменов, участвующих в регате. + + + Learn More + Узнать больше + + + Post-Race Analytics + Аналитика после гонки + + + Access to data collected at sailing events gives sailors the opportunity to assess and analyse their performances to help develop strategies and sail better. + Доступ к данным, собранным на парусных событиях, дает мореходам возможность оценить и проанализировать свои показатели, помогая разрабатывать стратегии и повышать мастерство. + + + SAP Business Analytics solutions provide sailors, coaches, fans and media with tools to browse and analyse historical data across many regattas and races. SAP HANA allows them to learn about performance patterns, tendencies and sailor profiles in a simple, fast and efficient way in order to optimize their own performance and develop successful strategies for future regattas. + Решения SAP Business Analytics предоставляют мореходам, тренерам, болельщикам и СМИ инструменты для просмотра и анализа исторических данных по множеству регат и гонок. SAP HANA позволяет изучать паттерны эффективности, тенденции и профили мореходов простым, быстрым и эффективным образом для оптимизации своих показателей и разработки успешных стратегий на будущие регаты. + + + SAP Sail Better – STG Training Diary + SAP Sail Better – Дневник тренировок STG + + + The STG Training Diary supports the daily documentation and analysis of an athlete’s physical condition and training efforts in the areas of water training, physical training, boat work, mental, theory as well as other activities like education or travel. + Дневник тренировок STG поддерживает ежедневное документирования и анализ физического состояния атлета и его усилий в тренировках на воде, физической подготовке, работе с лодкой, моральной, теоретической подготовке, а также других видах деятельности, таких как образование и путешествия. + + + Strategy Simulator + Симулятор стратегии + + + Choosing the right strategy can provide great competitive advantage during a race. The Strategy Simulator simplifies determining the best sailing strategy for various wind conditions and water currents. Since wind and current can be changed in the simulation right away, the robustness of a strategy can be easily evaluated even for uncertain weather conditions. + Выбор правильной стратегии может обеспечить большое конкурентное преимущество во время гонки. Симулятор стратегии упрощает определение лучшей стратегии хождения под парусом для разных атмосферных условий и водных течений. Возможность мгновенного изменения ветра и течения в симуляции позволяет легко оценить надежность стратегии даже для неопределенных погодных условий. + + + Learn More + Узнать больше + + + Imprint + Печать + + + Last fix + Последний замер + + + Filter device mappings + Фильтровать сопоставления устройств
    diff --git a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf index 727304437e4..057ae9bc7a0 100644 --- a/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf +++ b/XLF/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties.xlf @@ -1,12 +1,12 @@ - +
    - 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 - +
    @@ -1985,27 +1985,27 @@ Subtitle - 副标题 + 副标题 Copyright - 版权 + 版权 Width (pixel) - 宽度(像素) + 宽度(像素) Height (pixel) - 高度(像素) + 高度(像素) Tags - 标记 + 标记 Size - 大小 + 大小 Duration (h:mm:ss.ms) @@ -3797,7 +3797,7 @@ Course designer - 场地设计器 + 场地设计器 Racing procedure @@ -4361,8 +4361,7 @@ {0} in {1} on {2} - {2} - {1}中的{0} + {2}{1}中的{0} String eventSharingShortText(String eventName, String venue, String dateString); @@ -4536,6 +4535,10 @@ Use start time inference from start mark passings 使用从开始绕标推断的开始时间 + + Control tracking from start and finish times + 从开始和结束时间控制跟踪 + Number of queue messages sent 发送的队列消息的数量 @@ -6036,25 +6039,25 @@ utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions - + https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app - https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app + https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app - + https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app - https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app + https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app https://play.google.com/intl/en/badges/images/generic/en-play-badge.png https://play.google.com/intl/en/badges/images/generic/en-play-badge.png - + http://appstore.com/sapsailinsight - http://appstore.com/sapsailinsight + http://appstore.com/sapsailinsight http://appstore.com/stgtrainingstagebuch @@ -6454,15 +6457,387 @@ Active regatta configuration was set, using the "By Marks" course designer. - 已使用“按标志”场地设计器设置有效的比赛配置。 + 已使用“按标志”场地设计器设置有效的比赛配置。 Active regatta configuration already exists, but with the wrong course designer setting.\nWould you like to override course designer setting to "By Marks"? - 有效的比赛配置已存在,但是场地设计器设置错误。\n是否将场地设计器设置覆盖为“按标志”? + 有效的比赛配置已存在,但是场地设计器设置错误。\n是否将场地设计器设置覆盖为“按标志”? All races have been denoted for racelog tracking. - 已为比赛轮次日志跟踪描述所有比赛轮次。 + 已为比赛轮次日志跟踪描述所有比赛轮次。 + + + Hint: You can also use the leaderboard (on the LEADERBOARD tab) to select the competitors displayed in the chart. + 提示:您还可以使用积分榜(在 LEADERBOARD 选项卡中)选择在记录中显示的参赛队。 + + + Choose a language + 选择一种语言 + + + Solutions + 解决方案 + + + Blog + 博客 + + + Official event website + 官方活动网站 + + + More info + 更多信息 + + + View analysis + 查看分析 + + + Overall leaderboard + 总积分榜 + + + Please try again... + 请重试... + + + Reload page + 重新加载页面 + + + An error occured while loading the data for this page. + 加载此页面数据时出错。 + + + Regatta details + 比赛详情 + + + Choose chart type + 选择记录类型 + + + What''s new + 最新消息 + + + SAP Sailing + SAP Sailing + + + Search + 搜索 + + + Days + 天 + + + Days + 天 + + + Hrs + 小时 + + + Min + 分钟 + + + Sec + 秒 + + + Day + 天 + + + Hour + 小时 + + + Min + 分钟 + + + Sec + 秒 + + + Live + 实时 + + + Watch now + 现在观看 + + + Upcoming + 即将到来 + + + Last Score Update + 上次得分更新 + + + Not Tracked + 未跟踪 + + + Jobs + 招贤纳士 + + + © 2011-2016 SAP Sailing Analytics + 版权所有 © 2011-2016 SAP Sailing Analytics + + + SAP Sailing in + SAP Sailing 语言 + + + Legal Disclosure + 法律声明 + + + Privacy + 隐私 + + + Feedback + 反馈 + + + + Search + 搜索 + + + Show All Events + 显示所有活动 + + + Latest Events from the Sailing World + 来自风帆世界的最新活动 + + + Get lost in the latest and most beautiful impressions from your favorite sailing event. + 徜徉在让人着迷、震撼人心的最新航行活动中。 + + + Photographers love Sailing + 摄影师酷爱航行 + + + Immerse yourself in the world of sailing and check out our latest events for more videos. + 沉浸在风帆世界中,并通过更多视频了解最新活动。 + + + Recent Video Entries + 最近视频条目 + + + Search + 搜索 + + + Your Search + 您的搜索 + + + Type in your searchkey + 输入搜索关键字 + + + Recent + 最近 + + + SAP in Sailing + SAP in Sailing + + + SAP Sailing Analytics + SAP Sailing Analytics + + + SAP Sailing Race Manager + SAP Sailing Race Manager + + + SAP Sail InSight + SAP Sail InSight + + + SAP Sailing Buoy Pinger + SAP Sailing Buoy Pinger + + + Post-Race Analytics + 赛后分析 + + + Training Diary + 训练日记 + + + Strategy Simulator + 策略模拟器 + + + SAP in Sailing + SAP in Sailing + + + Sailing provides the perfect platform for SAP to showcase solutions and help the sport run like never before. SAP’s involvement in the sport has transformed the sailing experience by providing tools, which: + SAP 凭借此航行应用提供完美的平台,向用户展示解决方案,并以前所未有的顺畅速度呈现体育赛事。 SAP 通过提供各种工具转换其在参与此项运动中获得的航行经验,这些工具: + + + Help sailors analyze performance and optimize strategy + 帮助水手分析表现并优化策略 + + + Bring fans closer to the action + 让粉丝近距离直击运动 + + + Provide the media with information and insights to deliver a greater informed commentary + 为媒体提供信息和见解,从而提供深度评论 + + + SAP has a longstanding involvement with sailing and has established a portfolio spanning across teams and regattas, including: + SAP 长期参与航行运动,并成立了跨越团队和比赛的组合,包括: + + + Official Technology Partner of Travemünder Woche + 特拉沃明德周的官方技术合作伙伴 + + + Technical Partner of the European Sailing Leagues + 欧洲帆船联盟的技术合作伙伴 + + + Title sponsor of the SAP Extreme Sailing Team + SAP 极限帆船队的冠名赞助商 + + + Official Technical Partner of the Extreme Sailing Series + 极限帆船系列赛的官方技术合作伙伴 + + + Premium Partner of Germany’s national sailing team, Audi Sailing Team Germany + 德国国家帆船队 - 德国奥迪帆船队的优选合作伙伴 + + + Premium Partner of the world’s largest regatta, Kieler Woche (Kiel Week) + 世界上最大的帆船盛事“基尔周”的优选合作伙伴 + + + Title sponsor of the SAP 5O5 World Championships + SAP 5O5 世界锦标赛的冠名赞助商 + + + SAP Sailing Analytics + SAP Sailing Analytics + + + By delivering real time analytics around race rankings, speeds, maneuvers, bearings etc., SAP is helping to simplify and demystify the complex sport of sailing. + 通过实时分析比赛轮次排名、速度、操作和航向角等,SAP 可简化此复杂的航行运动,使其浅显易懂。 + + + SAP Sailing Analytics provide insights and transparency to the world of sailing by utilizing Cloud and In-Memory Technology, processing GPS and wind measurement data in real time and visualizing contents in various frontends accessible from anywhere. + SAP Sailing Analytics 利用云和内存技术实时处理 GPS 和风力测量数据,并在可从任何地方访问的前端显示,让用户全面、透彻地了解航行运动。 + + + Read More + 更多信息 + + + SAP Sailing Race Manager + SAP Sailing Race Manager + + + The SAP Sailing Race Manager delivers greater efficiency and control to race organizers by automating and simplifying their manual tasks and communication during running sailing regattas. The Race Committee App helps simplify the operation of running and managing race events to help race committees operate smarter. + SAP Sailing Race Manager 通过自动化及简化赛事主办机构在航行比赛期间的人工作业和沟通,实现更高的效率和控制能力。Race Committee 应用简化举办和管理比赛活动的操作,使竞赛委员会的操作更加智能。 + + + Learn More + 了解更多 + + + SAP Sail InSight + SAP Sail InSight + + + With the SAP Sail InSight mobile app for iPhone, iPad and Android phones, sailboat racers can manage their regatta participation and performance anywhere and anytime. This app connects to the SAP Sailing Analytics solution and enables racers to sign in to an SAP Sail InSight-enabled regatta, track their location together with performance indicators like speed or distance sailed, and analyze their performance. + 使用适用于 iPhone、iPad 和 Android 手机的 SAP Sail InSight 移动应用,帆船选手可以随时随地管理其参赛情况和表现。此应用与 SAP Sailing Analytics 解决方案相连,选手可以登录启用 SAP Sail InSight 的比赛,跟踪其所处地点和速度或航行距离等表现指标,并分析其表现。 + + + Learn More + 了解更多 + + + SAP Sailing Buoy Pinger + SAP Sailing Buoy Pinger + + + With the SAP Sailing Buoy Pinger mobile app for Android phones, sailboat race managers can simplify the positioning of race marks and communication with the mark layers anywhere and anytime. This app connects to the SAP Sailing Analytics solution and allows regatta managers to track the geographical position of their race marks, enabling the use of the SAP Sail InSight mobile app by sailors participating in the regatta. + 使用适用于 Android 手机的 SAP Sailing Buoy Pinger 移动应用,帆船赛赛事经理可以随时随地简化比赛航标的定位和与布标裁判的沟通。此应用与 SAP Sailing Analytics 解决方案相连,比赛经理可以跟踪其比赛航标的地理位置,并允许参赛水手使用 SAP Sail InSight 移动应用。 + + + Learn More + 了解更多 + + + Post-Race Analytics + 赛后分析 + + + Access to data collected at sailing events gives sailors the opportunity to assess and analyse their performances to help develop strategies and sail better. + 水手通过访问航行活动期间收集的数据评估和分析其表现,帮助他们制定策略和优化航行方案。 + + + SAP Business Analytics solutions provide sailors, coaches, fans and media with tools to browse and analyse historical data across many regattas and races. SAP HANA allows them to learn about performance patterns, tendencies and sailor profiles in a simple, fast and efficient way in order to optimize their own performance and develop successful strategies for future regattas. + SAP Business Analytics 解决方案为水手、教练、粉丝和媒体提供跨比赛和轮次浏览和分析历史数据的工具。SAP HANA 通过简单、快速和高效的方式使其了解表现模式、趋势和水手资料,从而提高自己的表现并为今后的比赛制定成功的策略。 + + + SAP Sail Better – STG Training Diary + SAP Sail Better – STG Training Diary + + + The STG Training Diary supports the daily documentation and analysis of an athlete’s physical condition and training efforts in the areas of water training, physical training, boat work, mental, theory as well as other activities like education or travel. + STG Training Diary 可每天记录和分析运动员的身体状况,在水上训练、体能训练、船艇工作、心理、理论以及教育或旅行等其他活动领域的训练力度。 + + + Strategy Simulator + 策略模拟器 + + + Choosing the right strategy can provide great competitive advantage during a race. The Strategy Simulator simplifies determining the best sailing strategy for various wind conditions and water currents. Since wind and current can be changed in the simulation right away, the robustness of a strategy can be easily evaluated even for uncertain weather conditions. + 选择正确的策略可在比赛期间极大地提高竞争优势。策略模拟器为不同的风力条件和水流简化确定最佳的航行策略。由于可以在模拟中即时更改风和水流,即便在不确定的天气条件下,也可以轻松地评估策略的稳健性。 + + + Learn More + 了解更多 + + + Imprint + 版本说明 + + + Last fix + 上次修复 + + + Filter device mappings + 筛选设备映射
    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 6367aff25a1..afebcf5d100 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 @@ -1132,6 +1132,7 @@ lastScoreCorrectionsTime=最終得点修正時刻 lastScoreCorrectionsComment=最終得点修正コメント setTimeToNow=時刻を ''現在'' に設定 useStartTimeInference=スタートマーク通過からの推定スタート時刻を使用 +controlTrackingFromStartAndFinishTimes=スタート時刻およびフィニッシュ時刻からの追跡の制御 numberOfQueueMessagesSent=送信済キューメッセージ数 totalSize=合計サイズ averageMessageSize=メッセージごとの平均サイズ (バイト) @@ -1508,11 +1509,11 @@ selectAFixPositionBy=マップをドラッグしてフィックス位置を選 pleaseSelectAMark=左側の一覧からマークを選択してください。 markFixes=フィックスのマーク playstoreCampaign=utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions -playstoreTrackingApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app +playstoreInsightApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app playstoreRacecommitteeApp=https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app -playStoreBuoypositioningApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app +playStoreBuoyPingerApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app playstoreBadge=https://play.google.com/intl/en/badges/images/generic/en-play-badge.png -appstoreSapSailingInsight=http://appstore.com/sapsailinsight +appstoreSapSailInsight=http://appstore.com/sapsailinsight appstoreStgTrainingstagebuch=http://appstore.com/stgtrainingstagebuch appstoreBadgeSuffix=_en distanceFromAveragePosition=平均位置からの距離 @@ -1615,3 +1616,97 @@ maximumNumberOfDiscards=カットレースの最大数 notificationRegattaConfigurationUpdatedUsingByMarks="マーク別" コースデザイナーを使用して、有効なレガッタ設定が行われました。 warningOverrideRegattaConfigurationCourseDesignerToByMarks=有効なレガッタ設定がすでに登録されていますが、コースデザイナーの設定が適切でありません。\n"マーク別" へのコースデザイナー設定を上書きしますか。 allRacesHaveBeenDenoted=すべてのレースがレースログ追跡に表示されています。 + +chartSelectionHint=ヒント: リーダーボード (リーダーボードタブ内) を使用して、チャートに表示する競技者を選択することもできます。 +chooseALanguage=言語を選択してください +solutions=ソリューション +blog=ブログ +officalEventWebsite=公式イベント Web サイト +moreInfo=追加情報 +viewAnalysis=分析の表示 +overallLeaderboard=全体リーダーボード +pleaseTryAgain=再試行してください... +reloadPage=ページのリロード +errorMessageLoadingData=このページのデータのロードでエラーが発生しました。 +regattaDetails=レガッタ詳細 +chooseChartType=チャートタイプ選択 +whatsNew=最新情報 +sapSailing=SAP Sailing +search=検索 +countdownStartingInDays=日 +countdownDays=日 +countdownHours=時間 +countdownMinutes=分 +countdownSeconds=秒 +countdownDay=曜日 +countdownHour=時 +countdownMinute=分 +countdownSecond=秒 +liveCapitalLetter=ライブ +watchNow=現在視聴可能 +seriesHeaderUpcoming=予定 +eventRegattaLeaderboardLastScoreUpdate=前回スコア更新 +eventRegattaRaceNotTracked=未追跡 +footerJobs=採用 +footerCopyright=© 2011-2016 SAP Sailing Analytics +footerLanguage=SAP Sailing - +footerLegal=利用規約 +footerPrivacy=個人情報保護 +footerFeedback=フィードバック +headerLogo=Sailing Analytics +headerSearchPlaceholder=検索 +mainEventShowAll=全イベント表示 +mainEventTitle=Sailing World からの最新イベント +mainMediaSubtitle=お気に入りのセーリングイベントのすてきな最新画像を楽しんでください。 +mainMediaTitle=最新のセーリング画像 +mainMediaVideosSubtitle=最新イベントの動画にアクセスしてセーリングの世界に浸ってください。 +mainMediaVideosTitle=最新のセーリング動画 +searchResultHeaderButton=検索 +searchResultHeaderLabel=検索対象 +searchResultHeaderPlaceholder=検索キーを入力 +searchResultSortNewest=最新 +solutionsSISHeadline=SAP in Sailing +solutionsSAPHeadline=SAP Sailing Analytics +solutionsRaceHeadline=SAP Sailing Race Manager +solutionsInSightHeadline=SAP Sail InSight +solutionsBuoyPingerHeadline=SAP Sailing Buoy Pinger +solutionsPostHeadline=レース後分析 +solutionsTrainingHeadline=トレーニング日記 +solutionsSimulatorHeadline=戦略シミュレータ +sapInSailing=SAP in Sailing +contentSapInSailing1=セーリングは、SAP にとってソリューションを紹介するためのプラットフォームとしてうってつけのものであり、これまでになかったやり方でスポーツの運営を支援しています。SAP によるスポーツへの関与は、以下のことを行うツールを提供することによってセーリングから得られる体験を別次元のものに変えました。 +contentSapInSailing2=パフォーマンスの分析と戦略の最適化でセーラーを支援します +contentSapInSailing3=アクションをファンにとって身近なものにします +contentSapInSailing4=情報豊富なすばらしい解説を行うための情報とインサイトを報道関係者に提供します +contentSapInSailing5=SAP は、長年にわたりセーリングに関与しており、以下のようなチームおよびレガッタと関係を構築してきました。 +contentSapInSailing6=Travemünder Woche の公式テクノロジーパートナー +contentSapInSailing7=欧州セーリング連盟 (European Sailing Leagues) のテクノロジーパートナー +contentSapInSailing8=SAP Extreme Sailing Team のタイトルスポンサー +contentSapInSailing9=Extreme Sailing Series の公式テクニカルパートナー +contentSapInSailing10=ドイツ代表セーリングチームである Audi Sailing Team Germany のプレミアムパートナー +contentSapInSailing11=世界最大のレガッタである Kieler Woche (Kiel Week) のプレミアムパートナー +contentSapInSailing12=SAP 5O5 World Championships のタイトルスポンサー +sapSailingAnalyticsTitle=SAP Sailing Analytics +contentSapSailingAnalytics1=レースランキング、速力、操縦、ベアリングなどに関係するリアルタイム分析を提供することにより、SAP はセーリングという複雑なスポーツを簡略に分かりやすく説明することをお手伝いしています。 +contentSapSailingAnalytics2=SAP Sailing Analytics は、クラウドおよびインメモリ技術を活用し、リアルタイムで GPS および風計測データを処理し、どこからでもアクセスできるさまざまなフロントエンドでコンテンツを視覚化することによってセーリングの世界にインサイトと透明性を提供します。 +sapSailingAnalyticsReadMore=続きを読む +sapSailingRaceManager=SAP Sailing Race Manager +contentSapSailingRaceManager=SAP Sailing Race Manager は、セーリングレガッタ運営中にレース組織者が手動で行う作業や連絡業務を自動化/簡略化することによって効率と統制を向上させます。Race Committee アプリは、レースイベントの運営/管理業務を簡略化するのに役立ち、レース委員会がより円滑に運営されるよう支援します。 +sapSailingRaceManagerReadMore=詳細情報 +sapSailInSight=SAP Sail InSight +contentSapSailInSight=iPhone、iPad、および Android フォン向け SAP Sail InSight モバイルアプリにより、ヨット競技者はいつでもどこでもレガッタ参加やパフォーマンスを管理することができます。このアプリは SAP Sailing Analytics ソリューションに接続され、競技者が SAP Sail InSight 対応のレガッタへの受付を行い、自分がどこにいるかを艇速や帆走距離などのパフォーマンス指標とともに追跡し、自らのパフォーマンスを分析することを可能にします。 +sapSailInSightReadMore=詳細情報 +sapSailingBuoyPinger=SAP Sailing Buoy Pinger +contentSapSailingBuoyPinger=Android フォン向け SAP Sailing Buoy Pinger モバイルアプリにより、ヨットレース運営者はいつでもどこでもレース用のマークの位置決めや、マーク設置担当者とのやり取りを簡略化することができます。このアプリは SAP Sailing Analytics ソリューションに接続され、レガッタ運営者がレース用のマークの地理的位置を追跡することを可能にし、レガッタに参加しているセーラーが SAP Sail InSight モバイルアプリを使用できるようにします。 +sapSailingBuoyPingerReadMore=詳細情報 +postRaceAnalytics=レース後分析 +contentPostRaceAnalytics1=セーリングイベントで収集されたデータへのアクセスにより、戦略の策定や帆走の向上に役立つ、セーラーがそのパフォーマンスを評価および分析する機会が提供されます。 +contentPostRaceAnalytics2=SAP Business Analytics ソリューションは、多くのレガッタおよびレースにわたって履歴データを照会および分析するツールをセーラー、コーチ、ファン、そして報道関係者に提供します。SAP HANA は、こうした人たちが自身のパフォーマンスを最適化し、予定されているレガッタで成功を収める戦略を策定するために簡単、迅速、かつ効率的な方法でパフォーマンスのパターン、傾向、およびセーラーのプロファイルを知ることを可能にします。 +i18nDeSolutionsTrainingHeadline=SAP Sail Better – STG Training Diary +i18nDeSolutionsTrainingText=STG Training Diary は、選手の体調、ならびに水上トレーニング、身体的トレーニング、操艇、メンタル、理論、さらに教育や移動などのその他の活動の領域におけるトレーニングへの取り組みの日々の記録および分析をサポートします。 +strategySimulator=戦略シミュレータ +contentStrategySimulator=適切な戦略を選択すれば、レース中に大きな競争上の優位性を得ることが可能です。Strategy Simulator により、さまざまな風況および水流に対して最良のセーリング戦略を決定することが容易になります。風と水流をシミュレーションで直ちに変更することができるため、不確かな気象条件に対しても戦略の確かさを簡単に評価することができます。 +strategySimulatorReadMore=詳細情報 +impressum=刻印 +lastFix=最終フィックス +filterDeviceMappings=デバイスマッピングのフィルタリング 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 fad3e331e16..593bac04de3 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 @@ -1132,6 +1132,7 @@ lastScoreCorrectionsTime=Время последнего исправления lastScoreCorrectionsComment=Комментарий последнего исправления оценки setTimeToNow=Установить время "сейчас" useStartTimeInference=Использовать вывод о времени старта из прохождений стартовой отметки +controlTrackingFromStartAndFinishTimes=Контролировать отслеживание от времени старта и финиша numberOfQueueMessagesSent=Число отправленных сообщений очереди totalSize=Общий размер averageMessageSize=Средний размер сообщения в байтах @@ -1508,11 +1509,11 @@ selectAFixPositionBy=Выберите позицию замера, перета pleaseSelectAMark=Выберите отметку из списка слева. markFixes=Замеры отметки playstoreCampaign=utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions -playstoreTrackingApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app +playstoreInsightApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app playstoreRacecommitteeApp=https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app -playStoreBuoypositioningApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app +playStoreBuoyPingerApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app playstoreBadge=https://play.google.com/intl/en/badges/images/generic/en-play-badge.png -appstoreSapSailingInsight=http://appstore.com/sapsailinsight +appstoreSapSailInsight=http://appstore.com/sapsailinsight appstoreStgTrainingstagebuch=http://appstore.com/stgtrainingstagebuch appstoreBadgeSuffix=_en distanceFromAveragePosition=Дистанция от средней позиции @@ -1615,3 +1616,97 @@ maximumNumberOfDiscards=Максимальное число исключений notificationRegattaConfigurationUpdatedUsingByMarks=Активная конфигурация регаты была настроена с использованием дизайнера курса "По отметкам". warningOverrideRegattaConfigurationCourseDesignerToByMarks=Активная конфигурация регаты уже существует, но с неверно выбранным дизайнером курса.\nПереопределить выбор дизайнера курса на "По отметкам"? allRacesHaveBeenDenoted=Отслеживание журнала всех гонок отменено. + +chartSelectionHint=Совет: таблицу лидеров (на вкладке ТАБЛИЦА ЛИДЕРОВ) также можно использовать для выбора участников, отображаемых в диаграмме. +chooseALanguage=Выбор языка +solutions=Решения +blog=Блог +officalEventWebsite=Официальный веб-сайт события +moreInfo=Больше сведений +viewAnalysis=Просмотреть анализ +overallLeaderboard=Общая таблица лидеров +pleaseTryAgain=Повторите попытку... +reloadPage=Перезагрузить страницу +errorMessageLoadingData=При загрузке данных для этой страницы возникла ошибка. +regattaDetails=Подробности регаты +chooseChartType=Выберите тип диаграммы +whatsNew=Новые возможности +sapSailing=SAP Sailing +search=Поиск +countdownStartingInDays=дн. +countdownDays=дн. +countdownHours=ч. +countdownMinutes=мин. +countdownSeconds=сек. +countdownDay=дн. +countdownHour=ч. +countdownMinute=мин. +countdownSecond=сек. +liveCapitalLetter=Активно +watchNow=Смотреть сейчас +seriesHeaderUpcoming=Скоро +eventRegattaLeaderboardLastScoreUpdate=Последнее обновление оценок +eventRegattaRaceNotTracked=Не отслеживается +footerJobs=Работа +footerCopyright=© SAP Sailing Analytics, 2011–2016. +footerLanguage=Язык SAP Sailing +footerLegal=Раскрытие юридической информации +footerPrivacy=Конфиденциальность +footerFeedback=Обратная связь +headerLogo=Sailing Analytics +headerSearchPlaceholder=Поиск +mainEventShowAll=Показать все события +mainEventTitle=Последние события в мире парусного спорта +mainMediaSubtitle=Погрузитесь в новейшие и прекраснейшие впечатления от избранного события в мире парусного спорта. +mainMediaTitle=Фотографы любят паруса +mainMediaVideosSubtitle=Погрузитесь в мир парусного спорта и просмотрите другие видео наших последних событий. +mainMediaVideosTitle=Последние видеозаписи +searchResultHeaderButton=Поиск +searchResultHeaderLabel=Ваш поиск +searchResultHeaderPlaceholder=Введите ключ поиска +searchResultSortNewest=Недавние +solutionsSISHeadline=SAP в парусном спорте +solutionsSAPHeadline=SAP Sailing Analytics +solutionsRaceHeadline=SAP Sailing Race Manager +solutionsInSightHeadline=SAP Sail InSight +solutionsBuoyPingerHeadline=SAP Sailing Buoy Pinger +solutionsPostHeadline=Аналитика после гонки +solutionsTrainingHeadline=Дневник тренировок +solutionsSimulatorHeadline=Симулятор стратегии +sapInSailing=SAP в парусном спорте +contentSapInSailing1=Парусный спорт предоставляет отличную платформу для демонстрации решений SAP и беспрецедентной помощи развитию спорта. Вовлеченность SAP преобразила парусный спорт, предоставив инструменты, которые: +contentSapInSailing2=Помогают мореходам анализировать эффективность и оптимизировать стратегию. +contentSapInSailing3=Делают болельщиков ближе к действию. +contentSapInSailing4=Предоставляют информацию и аналитику для более информированного комментирования. +contentSapInSailing5=За немалое время причастности к парусному спорту компанией SAP накоплено солидное портфолио сотрудничества с разными командами регатами, включая: +contentSapInSailing6=Официальный технологический партнер Travemünder Woche +contentSapInSailing7=Технический партнер Европейской лиги парусного спорта +contentSapInSailing8=Титульный спонсор команды SAP Extreme Sailing Team +contentSapInSailing9=Официальный технический партнер серии Extreme Sailing Series +contentSapInSailing10=Премиальный партнер национальной команды Германии по парусному спорту, Audi Sailing Team Germany +contentSapInSailing11=Премиальный партнер крупнейшей в мире регаты Kieler Woche (Кильская неделя) +contentSapInSailing12=Титульный спонсор чемпионатов мира SAP 5O5 +sapSailingAnalyticsTitle=SAP Sailing Analytics +contentSapSailingAnalytics1=Предоставляя аналитику по данным о рангах в гонке, скоростях, маневрах, ветрах и т. д. в режиме реального времени, SAP помогает упростить и демистифицировать сложный парусный спорт. +contentSapSailingAnalytics2=SAP Sailing Analytics делает мир парусного спорта понятным и прозрачным, используя облако и технологию In-Memory, обработку данных GPS и параметров ветра в реальном времени, а также визуализацию контекста в разных пользовательских интерфейсах, доступных где угодно. +sapSailingAnalyticsReadMore=См. также +sapSailingRaceManager=SAP Sailing Race Manager +contentSapSailingRaceManager=Приложение SAP Sailing Race Manager повышает уровень эффективности и контроля для организаторов гонки за счет автоматизации и упрощения выполняемых вручную задач и общения во время проведения парусных регат. Приложение Race Committee помогает упростить проведение событий и управление ими, освобождая для оргкомитета время на лучшую проработку деталей. +sapSailingRaceManagerReadMore=Узнать больше +sapSailInSight=SAP Sail InSight +contentSapSailInSight=С помощью мобильного приложения SAP Sail InSight для смартфонов iPhone, iPad и Android яхтсмены гонок могут управлять своим участием и эффективностью в регате откуда и когда угодно. Это приложение подключается к решению SAP Sailing Analytics и позволяет яхтсменам выполнять вход в регаты, использующие SAP Sail InSight, отслеживать свое местоположение вместе с индикаторами эффективности, такими как скорость или пройденное расстояние, а также анализировать эффективность. +sapSailInSightReadMore=Узнать больше +sapSailingBuoyPinger=SAP Sailing Buoy Pinger +contentSapSailingBuoyPinger=Мобильное приложение SAP Sailing Buoy Pinger для смартфонов Android позволяет руководителям парусных гонок упростить позиционирование отметок и общение с установщиками отметок откуда и когда угодно. Это приложение подключается к решению SAP Sailing Analytics и позволяет руководителям гонок отслеживать географическое местоположение гоночных отметок, обеспечивая использование мобильного приложения SAP Sail InSight для яхтсменов, участвующих в регате. +sapSailingBuoyPingerReadMore=Узнать больше +postRaceAnalytics=Аналитика после гонки +contentPostRaceAnalytics1=Доступ к данным, собранным на парусных событиях, дает мореходам возможность оценить и проанализировать свои показатели, помогая разрабатывать стратегии и повышать мастерство. +contentPostRaceAnalytics2=Решения SAP Business Analytics предоставляют мореходам, тренерам, болельщикам и СМИ инструменты для просмотра и анализа исторических данных по множеству регат и гонок. SAP HANA позволяет изучать паттерны эффективности, тенденции и профили мореходов простым, быстрым и эффективным образом для оптимизации своих показателей и разработки успешных стратегий на будущие регаты. +i18nDeSolutionsTrainingHeadline=SAP Sail Better – Дневник тренировок STG +i18nDeSolutionsTrainingText=Дневник тренировок STG поддерживает ежедневное документирования и анализ физического состояния атлета и его усилий в тренировках на воде, физической подготовке, работе с лодкой, моральной, теоретической подготовке, а также других видах деятельности, таких как образование и путешествия. +strategySimulator=Симулятор стратегии +contentStrategySimulator=Выбор правильной стратегии может обеспечить большое конкурентное преимущество во время гонки. Симулятор стратегии упрощает определение лучшей стратегии хождения под парусом для разных атмосферных условий и водных течений. Возможность мгновенного изменения ветра и течения в симуляции позволяет легко оценить надежность стратегии даже для неопределенных погодных условий. +strategySimulatorReadMore=Узнать больше +impressum=Печать +lastFix=Последний замер +filterDeviceMappings=Фильтровать сопоставления устройств diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties index 8da04f04e70..f7e35229132 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh_CN.properties @@ -1086,8 +1086,7 @@ sharingMailTooltip=通过邮件分享 sharingTwitterTooltip=在 Twitter 上分享 sharingFacebookTooltip=在 Facebook 上分享 #String eventSharingShortText(String eventName, String venue, String dateString); -eventSharingShortText={2} - {1}中的{0} +eventSharingShortText={2}{1}中的{0} #String eventSharingLongText(String eventName, String venue, String dateString, String url); eventSharingLongText=我要在{2}分享{0}中的{1}。 详情: \n{3} #String seriesSharingLongText(String seriesName, String url); @@ -1133,6 +1132,7 @@ lastScoreCorrectionsTime=上次得分更正时间 lastScoreCorrectionsComment=上次得分更正评论 setTimeToNow=将时间设为“现在” useStartTimeInference=使用从开始绕标推断的开始时间 +controlTrackingFromStartAndFinishTimes=从开始和结束时间控制跟踪 numberOfQueueMessagesSent=发送的队列消息的数量 totalSize=总大小 averageMessageSize=各消息的平均大小(字节) @@ -1509,11 +1509,11 @@ selectAFixPositionBy=通过拖动地图选择修复位置。然后利用下方 pleaseSelectAMark=请从左侧的清单中选择一个标志。 markFixes=标志修复 playstoreCampaign=utm_source=sapsailing&utm_medium=solutions&utm_content=2016.02&utm_campaign=solutions&pcampaignid=2016.sapsailing.solutions -playstoreTrackingApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app +playstoreInsightApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.tracking.app playstoreRacecommitteeApp=https://play.google.com/store/apps/details?id=com.sap.sailing.racecommittee.app -playStoreBuoypositioningApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app +playStoreBuoyPingerApp=https://play.google.com/store/apps/details?id=com.sap.sailing.android.buoy.positioning.app playstoreBadge=https://play.google.com/intl/en/badges/images/generic/en-play-badge.png -appstoreSapSailingInsight=http://appstore.com/sapsailinsight +appstoreSapSailInsight=http://appstore.com/sapsailinsight appstoreStgTrainingstagebuch=http://appstore.com/stgtrainingstagebuch appstoreBadgeSuffix=_en distanceFromAveragePosition=与平均位置的距离 @@ -1616,3 +1616,97 @@ maximumNumberOfDiscards=最大放弃次数 notificationRegattaConfigurationUpdatedUsingByMarks=已使用“按标志”场地设计器设置有效的比赛配置。 warningOverrideRegattaConfigurationCourseDesignerToByMarks=有效的比赛配置已存在,但是场地设计器设置错误。\n是否将场地设计器设置覆盖为“按标志”? allRacesHaveBeenDenoted=已为比赛轮次日志跟踪描述所有比赛轮次。 + +chartSelectionHint=提示:您还可以使用积分榜(在 LEADERBOARD 选项卡中)选择在记录中显示的参赛队。 +chooseALanguage=选择一种语言 +solutions=解决方案 +blog=博客 +officalEventWebsite=官方活动网站 +moreInfo=更多信息 +viewAnalysis=查看分析 +overallLeaderboard=总积分榜 +pleaseTryAgain=请重试... +reloadPage=重新加载页面 +errorMessageLoadingData=加载此页面数据时出错。 +regattaDetails=比赛详情 +chooseChartType=选择记录类型 +whatsNew=最新消息 +sapSailing=SAP Sailing +search=搜索 +countdownStartingInDays=天 +countdownDays=天 +countdownHours=小时 +countdownMinutes=分钟 +countdownSeconds=秒 +countdownDay=天 +countdownHour=小时 +countdownMinute=分钟 +countdownSecond=秒 +liveCapitalLetter=实时 +watchNow=现在观看 +seriesHeaderUpcoming=即将到来 +eventRegattaLeaderboardLastScoreUpdate=上次得分更新 +eventRegattaRaceNotTracked=未跟踪 +footerJobs=招贤纳士 +footerCopyright=版权所有 © 2011-2016 SAP Sailing Analytics +footerLanguage=SAP Sailing 语言 +footerLegal=法律声明 +footerPrivacy=隐私 +footerFeedback=反馈 +headerLogo=Sailing Analytics +headerSearchPlaceholder=搜索 +mainEventShowAll=显示所有活动 +mainEventTitle=来自风帆世界的最新活动 +mainMediaSubtitle=徜徉在让人着迷、震撼人心的最新航行活动中。 +mainMediaTitle=摄影师酷爱航行 +mainMediaVideosSubtitle=沉浸在风帆世界中,并通过更多视频了解最新活动。 +mainMediaVideosTitle=最近视频条目 +searchResultHeaderButton=搜索 +searchResultHeaderLabel=您的搜索 +searchResultHeaderPlaceholder=输入搜索关键字 +searchResultSortNewest=最近 +solutionsSISHeadline=SAP in Sailing +solutionsSAPHeadline=SAP Sailing Analytics +solutionsRaceHeadline=SAP Sailing Race Manager +solutionsInSightHeadline=SAP Sail InSight +solutionsBuoyPingerHeadline=SAP Sailing Buoy Pinger +solutionsPostHeadline=赛后分析 +solutionsTrainingHeadline=训练日记 +solutionsSimulatorHeadline=策略模拟器 +sapInSailing=SAP in Sailing +contentSapInSailing1=SAP 凭借此航行应用提供完美的平台,向用户展示解决方案,并以前所未有的顺畅速度呈现体育赛事。 SAP 通过提供各种工具转换其在参与此项运动中获得的航行经验,这些工具: +contentSapInSailing2=帮助水手分析表现并优化策略 +contentSapInSailing3=让粉丝近距离直击运动 +contentSapInSailing4=为媒体提供信息和见解,从而提供深度评论 +contentSapInSailing5=SAP 长期参与航行运动,并成立了跨越团队和比赛的组合,包括: +contentSapInSailing6=特拉沃明德周的官方技术合作伙伴 +contentSapInSailing7=欧洲帆船联盟的技术合作伙伴 +contentSapInSailing8=SAP 极限帆船队的冠名赞助商 +contentSapInSailing9=极限帆船系列赛的官方技术合作伙伴 +contentSapInSailing10=德国国家帆船队 - 德国奥迪帆船队的优选合作伙伴 +contentSapInSailing11=世界上最大的帆船盛事“基尔周”的优选合作伙伴 +contentSapInSailing12=SAP 5O5 世界锦标赛的冠名赞助商 +sapSailingAnalyticsTitle=SAP Sailing Analytics +contentSapSailingAnalytics1=通过实时分析比赛轮次排名、速度、操作和航向角等,SAP 可简化此复杂的航行运动,使其浅显易懂。 +contentSapSailingAnalytics2=SAP Sailing Analytics 利用云和内存技术实时处理 GPS 和风力测量数据,并在可从任何地方访问的前端显示,让用户全面、透彻地了解航行运动。 +sapSailingAnalyticsReadMore=更多信息 +sapSailingRaceManager=SAP Sailing Race Manager +contentSapSailingRaceManager=SAP Sailing Race Manager 通过自动化及简化赛事主办机构在航行比赛期间的人工作业和沟通,实现更高的效率和控制能力。Race Committee 应用简化举办和管理比赛活动的操作,使竞赛委员会的操作更加智能。 +sapSailingRaceManagerReadMore=了解更多 +sapSailInSight=SAP Sail InSight +contentSapSailInSight=使用适用于 iPhone、iPad 和 Android 手机的 SAP Sail InSight 移动应用,帆船选手可以随时随地管理其参赛情况和表现。此应用与 SAP Sailing Analytics 解决方案相连,选手可以登录启用 SAP Sail InSight 的比赛,跟踪其所处地点和速度或航行距离等表现指标,并分析其表现。 +sapSailInSightReadMore=了解更多 +sapSailingBuoyPinger=SAP Sailing Buoy Pinger +contentSapSailingBuoyPinger=使用适用于 Android 手机的 SAP Sailing Buoy Pinger 移动应用,帆船赛赛事经理可以随时随地简化比赛航标的定位和与布标裁判的沟通。此应用与 SAP Sailing Analytics 解决方案相连,比赛经理可以跟踪其比赛航标的地理位置,并允许参赛水手使用 SAP Sail InSight 移动应用。 +sapSailingBuoyPingerReadMore=了解更多 +postRaceAnalytics=赛后分析 +contentPostRaceAnalytics1=水手通过访问航行活动期间收集的数据评估和分析其表现,帮助他们制定策略和优化航行方案。 +contentPostRaceAnalytics2=SAP Business Analytics 解决方案为水手、教练、粉丝和媒体提供跨比赛和轮次浏览和分析历史数据的工具。SAP HANA 通过简单、快速和高效的方式使其了解表现模式、趋势和水手资料,从而提高自己的表现并为今后的比赛制定成功的策略。 +i18nDeSolutionsTrainingHeadline=SAP Sail Better – STG Training Diary +i18nDeSolutionsTrainingText=STG Training Diary 可每天记录和分析运动员的身体状况,在水上训练、体能训练、船艇工作、心理、理论以及教育或旅行等其他活动领域的训练力度。 +strategySimulator=策略模拟器 +contentStrategySimulator=选择正确的策略可在比赛期间极大地提高竞争优势。策略模拟器为不同的风力条件和水流简化确定最佳的航行策略。由于可以在模拟中即时更改风和水流,即便在不确定的天气条件下,也可以轻松地评估策略的稳健性。 +strategySimulatorReadMore=了解更多 +impressum=版本说明 +lastFix=上次修复 +filterDeviceMappings=筛选设备映射 From d977de6467867cce4226dfe361d07cabfaeb6892 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 29 Sep 2016 12:17:42 +0000 Subject: [PATCH 78/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../XLF/FileStorageStringMessages_ja.properties.xlf | 2 +- .../XLF/FileStorageStringMessages_ru.properties.xlf | 2 +- .../XLF/FileStorageStringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf index 9d1e3322ecc..a4a5a308b53 100644 --- a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf +++ b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAJ1SwW7bMAy95yt4bNHBPeTcQ4tiQLGiGNrmAxiZTojSkiHKSb3Dvn2klGTddSdL1OPj4/PT9SNpuHsrKRMMLKSQItyP+Ms+b+sO3vcEmXSWwnFXERBxJGAFhIyxTyNsNk+PMMmsUAydMu84ojQwxd4au5Wu70Mg1ae+DmwXsL4rITwQbAXjB5QEsxL8vu3wqLchU0+xMIoCRy2E/fWF6ActTToZrMCJ0Kr/wfgwhw8qL7ZXpfQDpAFa+UxxtUf1M0q2tgXok7V8A7PAnzNEol5B52HgwDYEJsojq3KKer2SFFBOgvOBg7mdMqj5fvbVFVUDK7S5p4tpHDv4Xt93JsY7qHdohf3Esr9xaNXsWgJG2Nqx+mFILLBFpU2Wv7iXVMhG2ZPPCykW1yuLSzHmEx7GWSsi0+DxuLDyVjwUo7HI4hGxMPhY34g+cZyEKnbPdDAF2wXGNMcaIDz1fV3vax8M2QKlBQuHTnFSZPH8BKumZk+mSTi0f3HxoGsGPzTl1Wc/w+b1GW7gsvhdLRx9JZgnSdibvirlyCL/btgYn88TKme9gV/PqXDtbRf7Mbij1R9TuhdHUgMAAA== diff --git a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf index 7aa5d529fbf..81303b072fd 100644 --- a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf +++ b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAJ1SwW7bMAy95yt4bNHBPeTcQ4tiQLGiGNrmAxiZTojSkiHKSb3Dvn2klGTddSdL1OPj4/PT9SNpuHsrKRMMLKSQItyP+Ms+b+sO3vcEmXSWwnFXERBxJGAFhIyxTyNsNk+PMMmsUAydMu84ojQwxd4au5Wu70Mg1ae+DmwXsL4rITwQbAXjB5QEsxL8vu3wqLchU0+xMIoCRy2E/fWF6ActTToZrMCJ0Kr/wfgwhw8qL7ZXpfQDpAFa+UxxtUf1M0q2tgXok7V8A7PAnzNEol5B52HgwDYEJsojq3KKer2SFFBOgvOBg7mdMqj5fvbVFVUDK7S5p4tpHDv4Xt93JsY7qHdohf3Esr9xaNXsWgJG2Nqx+mFILLBFpU2Wv7iXVMhG2ZPPCykW1yuLSzHmEx7GWSsi0+DxuLDyVjwUo7HI4hGxMPhY34g+cZyEKnbPdDAF2wXGNMcaIDz1fV3vax8M2QKlBQuHTnFSZPH8BKumZk+mSTi0f3HxoGsGPzTl1Wc/w+b1GW7gsvhdLRx9JZgnSdibvirlyCL/btgYn88TKme9gV/PqXDtbRf7Mbij1R9TuhdHUgMAAA== diff --git a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf index 4fcc11ba3a1..b5e2a841af5 100644 --- a/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.filestorage/resources/stringmessages/XLF/FileStorageStringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAJ1SwW7bMAy95yt4bNHBPeTcQ4tiQLGiGNrmAxiZTojSkiHKSb3Dvn2klGTddSdL1OPj4/PT9SNpuHsrKRMMLKSQItyP+Ms+b+sO3vcEmXSWwnFXERBxJGAFhIyxTyNsNk+PMMmsUAydMu84ojQwxd4au5Wu70Mg1ae+DmwXsL4rITwQbAXjB5QEsxL8vu3wqLchU0+xMIoCRy2E/fWF6ActTToZrMCJ0Kr/wfgwhw8qL7ZXpfQDpAFa+UxxtUf1M0q2tgXok7V8A7PAnzNEol5B52HgwDYEJsojq3KKer2SFFBOgvOBg7mdMqj5fvbVFVUDK7S5p4tpHDv4Xt93JsY7qHdohf3Esr9xaNXsWgJG2Nqx+mFILLBFpU2Wv7iXVMhG2ZPPCykW1yuLSzHmEx7GWSsi0+DxuLDyVjwUo7HI4hGxMPhY34g+cZyEKnbPdDAF2wXGNMcaIDz1fV3vax8M2QKlBQuHTnFSZPH8BKumZk+mSTi0f3HxoGsGPzTl1Wc/w+b1GW7gsvhdLRx9JZgnSdibvirlyCL/btgYn88TKme9gV/PqXDtbRf7Mbij1R9TuhdHUgMAAA== From ecf877ed6e6c083d86524ab1aadb9b1ac930213f Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 29 Sep 2016 12:17:54 +0000 Subject: [PATCH 79/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../ui/client/i18n/XLF/StringMessages_ja.properties.xlf | 2 +- .../ui/client/i18n/XLF/StringMessages_ru.properties.xlf | 2 +- .../ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf index dfcb0d124a3..7573e06886c 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    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 diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf index a855f787baa..29028cf06ae 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    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 diff --git a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf index 43ec07e718c..3a139709076 100644 --- a/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.security.ui/src/main/java/com/sap/sse/security/ui/client/i18n/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAIVX3W8bNwx/11+hPmUDVqN7LSAUhpNgxfI1J24wYC/qibYPOUs3SRcvGPq/j6Sk052Tri93EiVSFPnjh6w+gLrBj2jcodf2Ra3SX/Q6hKPzRt3lwUhZQw86qvSThSo6t9uB+WzVFQ9ka6UOcgjg5b8fvr0Tod1ZXL3HH67xdNOn6dDz9HaIae6GKFr7rLvWbJDfkpKf05wF2qTw0JkbF+8z54rm0rooQ5bxkQ4WjUc1geSoFQ9ZhAgQY2t3Qd3ngdi2XQRPG4O65DHvDIvFQhyhQwOBekz/X9KVon9Bzgf3BXy7feEjHpgko5PPTGQRJGELsdnjEu36bLfOH3RsnVWXmZ4s1dYVYqKbkE2XgQ0zWpXuVdce2tjBbMNH0XQugFrRFz2jDZ6AjuE/CabDFKnCo8DDILQxm/VVurtaGiNxJpNZhHtSt7+LRtsGOrXinyi+UMVLAg667RS8p9+4fD2E+Jt+hmW8Ah3izWqvvW4inXvXIQUkWLK2Hp0rj23cS0QXLUe6rmxGphGIP5aL8lBq2S/jHkXu0X4/khzOnY3XGj0zwj/IAx4nD0QcsbeaYGuEX1NRlhG413YHRZBa8bQGDm08h4gWS36QJk2EgQ6y9HMeJuRW8h8DBAbRZPmTMO5PN6xBd93Lo7bxwZ1P5Dj54gbpeVUecZmgaio7KfxJgPfOM1tGrFpayUQ0X98DAe24bztIrIz4fVZPN2gdGxUKer9MYxHQS+oeP8LDweF4zT8CHOFMgGmjusBPOnnTG01C166DoC743CHTpCei3Do/6otW/vXbnPMO/KENAW3zir+vS29JISTSuZQU1QXjkk6UBEuKHN5QxU+2VcF1Mx3NICl2TMpQ7HLM9wnpI+5HPVJ0b/r7oWkghO2A/lLTiUw7SES5wUJm2Dd7aJ7I0V6mUAyckCh/EjInCzJ7CzOCfbLuaC9eabxJC9n9ccxvIWXudDrfotwA9QCPOME4w3jY5zya9nAI8kbd4SnmRcI/bYghpaRlol0wSS3fkH3CJprBe3RJDa40r9FVBlPbpQispU2GqWFTuFbOcwcBY/0aIK7h76FFCOMJoXIb3MCRf8AtGFt1TwYACSRQFiUTCJpMHnVN2SIXPvSBQRGtxqxQal9TaRwyF5xtKW5Gdxrj8SLzYMjb5mEwZ0hHT83AzGAS7wx4Q1o5kTCLpcVf9ktCG0VDgmOAlGwQ3Yu5fgSzO+8wfmL7Ot5ZZj8uf1fTEylvqlzFzNUVONu5iqJLnlYQpXw4+IkT14AdRNbV8EqtM57Wcu7XFpHBmwvnI+IZu5NsoGLiFW9MrFXSV2j0EGpqrljbYzbF2laC+tQdk24NBV619uke7Y8h1eGQL88njal7PJHK41cAW/314dvZWfj+QWyb4u052J5H6ilY3PY079LyaJJZ1vs+60SpKSCSSutyv5Owq/ce7/y6DEzFzZw3x9WJt2aYwitfk94zgyLSkAbmwd2ndviSp2M+be1Crmr2ngT8YmYiDKuNrUqqSbShff4nMmU6fyHPMZ9MWgECGeGgQ2tim/M8iV5n4JPgqqu4IItJBVWTQps7fIJ36fI5d1Mh3GHL4HX3OG+j3wkLRy4yN3CUWCjwoJ5LWLZOrmfFNKn4lmbz1mes2dKqpyrh/ClEcQm7cXZ/bWRcw7WjNDI6Rjj0MRe3Bvs/7AnZJIn7reJqIaLfn2i3hYatpa2hGin1TpPC1O5EwLTUACYJWKGtuffBKjwSJVGzjvio6jh78Qydw9NcRtzhMNi24YAiK6dNpZpMV1PNTCK5UuBh2MdDqhUloxJF4NnTZmnZdbMO6afWNt1AzwZ6mwAbbOvdIbVhP2MnbLftbvDpMbOazsYn1iXr3jtLGag8txiVlCGzw7GPbOLocJ4J15kx7m6xux7zMcKmLNx1uoE97qTH10sP/ABCzxzr7omYt3aTj91U+vyhO2XJb17imJ3gZyliPcsKAqGy9JBfqvxCxv5canR8bl4w/MqzlR9wC2KhFwg9bnLLYaqTmN04e3aWqwCpk7sOM3HeorTi7JXy3swtuWwmxISveaeHd9ritfZ4G/6LHgns/ytsWwa9A3VXKJg1Ekn8B7YNScxQEAAA From 7e8bd5eb63657e9de454c70953e0bf835f606db2 Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 29 Sep 2016 12:18:06 +0000 Subject: [PATCH 80/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../stringmessages/XLF/TrackingStringMessages_ja.properties.xlf | 2 +- .../stringmessages/XLF/TrackingStringMessages_ru.properties.xlf | 2 +- .../XLF/TrackingStringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf index d6aafbe268d..67214a26d0c 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2RTU/DMAyG7/0VvnGZEGekHgYSUiVgY+3gnLXeajWNo9jbqBD/naQtbOLm+PXH+zgaTN2ROxTuRGqU2D1xyKs5C5c07DlkUhv3tnnkBlfhnYR0G2zFGzyQKIal5C+mQ5BjQBj4CK05IWiL8HX3DUvvgZyosRabW6hadJDmjQV7tpbPaeM0HjhAbanuRtWS6+AoSY5jA0hvgvqWXZzOEOb1YCQ7o625x4rzjymKBRmtyq1gkLzU2AfxmcxkxjWBqbmWllNqkm2c6SL7Ce0wwlYtyXO0khf7Ec9EzICmSb40atAbssATUYMnqhHOpO34TvjGpvLhcoYFCPXeDjPrDuMREpIkN/fZ7shDha7BkKcQdIwz432pHLCYxlT4qclSw+5GLzdPCwfUBXiLRvB36X1qL1jyuftyDu9n/D/p+hzJwDqSxm/2/tX0mJfLNZSROOE/JHuTnEnMFa6kQ6v/S2HOZz95rIJYdwIAAA== diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf index 0a6eba0af2a..5e605f5a607 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2RTU/DMAyG7/0VvnGZEGekHgYSUiVgY+3gnLXeajWNo9jbqBD/naQtbOLm+PXH+zgaTN2ROxTuRGqU2D1xyKs5C5c07DlkUhv3tnnkBlfhnYR0G2zFGzyQKIal5C+mQ5BjQBj4CK05IWiL8HX3DUvvgZyosRabW6hadJDmjQV7tpbPaeM0HjhAbanuRtWS6+AoSY5jA0hvgvqWXZzOEOb1YCQ7o625x4rzjymKBRmtyq1gkLzU2AfxmcxkxjWBqbmWllNqkm2c6SL7Ce0wwlYtyXO0khf7Ec9EzICmSb40atAbssATUYMnqhHOpO34TvjGpvLhcoYFCPXeDjPrDuMREpIkN/fZ7shDha7BkKcQdIwz432pHLCYxlT4qclSw+5GLzdPCwfUBXiLRvB36X1qL1jyuftyDu9n/D/p+hzJwDqSxm/2/tX0mJfLNZSROOE/JHuTnEnMFa6kQ6v/S2HOZz95rIJYdwIAAA== diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf index fd37f40e155..5c7ca915c2b 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/resources/stringmessages/XLF/TrackingStringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAF2RTU/DMAyG7/0VvnGZEGekHgYSUiVgY+3gnLXeajWNo9jbqBD/naQtbOLm+PXH+zgaTN2ROxTuRGqU2D1xyKs5C5c07DlkUhv3tnnkBlfhnYR0G2zFGzyQKIal5C+mQ5BjQBj4CK05IWiL8HX3DUvvgZyosRabW6hadJDmjQV7tpbPaeM0HjhAbanuRtWS6+AoSY5jA0hvgvqWXZzOEOb1YCQ7o625x4rzjymKBRmtyq1gkLzU2AfxmcxkxjWBqbmWllNqkm2c6SL7Ce0wwlYtyXO0khf7Ec9EzICmSb40atAbssATUYMnqhHOpO34TvjGpvLhcoYFCPXeDjPrDuMREpIkN/fZ7shDha7BkKcQdIwz432pHLCYxlT4qclSw+5GLzdPCwfUBXiLRvB36X1qL1jyuftyDu9n/D/p+hzJwDqSxm/2/tX0mJfLNZSROOE/JHuTnEnMFa6kQ6v/S2HOZz95rIJYdwIAAA== From 77b72b02a10abbb92623ff9ad5e3d219f7aed06e Mon Sep 17 00:00:00 2001 From: "service.tip.git" Date: Thu, 29 Sep 2016 12:18:27 +0000 Subject: [PATCH 81/97] Localization delivery: commit by Albert Kwiatkowski, and the user email is albert.kwiatkowski@sap.com. --- .../controls/filestorage/XLF/StringMessages_ja.properties.xlf | 2 +- .../controls/filestorage/XLF/StringMessages_ru.properties.xlf | 2 +- .../filestorage/XLF/StringMessages_zh_CN.properties.xlf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf index 5ec630be027..a25a20dc3dd 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ja.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA== diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf index 5cddb8f6a60..d14f359f97d 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_ru.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA== diff --git a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf index 6f2bb8fa7c2..1d8ca95902e 100644 --- a/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf +++ b/java/com.sap.sse.gwt/src/com/sap/sse/gwt/client/controls/filestorage/XLF/StringMessages_zh_CN.properties.xlf @@ -1,6 +1,6 @@ - +
    H4sIAAAAAAAAAH1SzU4jMQy+5yn8BIgXyKEa2MuuAFEEZ5O4naiZZOR4WiG0746TtLNod+Hi/2/8eb4UPJLdqjFMU9b4sTmTD/b+p3GYHEU7NGfQe7vx3pAPYm/VmEJ8JL5lzmw3CagGkJ1bmMnDaQyRAEVomiWkPUgGl5OgE5CRoKOv4CESFgI3kjvAW14YEskp86FOJ3IScgJMHoTfAPcY0pVxMReyQ7WNudADZ0d+YRowxnaGEKxFqNUz30eaY6Bity0D7qlp7Ic8TUsKDivhlyBjH7LtRuXzqQsnbZ+PMHpT0L+3aU73yKb0WLcIYIE+YFxeor/L8kRFlNxMLJXKUMuQsv4YbcC8dlaAfua/87rqi/G+v/IPjv5CdDaNvDZX1K+M/itY1N63uCOGiK/xAi3/YC8DF3hR5XZMZVS1mjcJJ7J3aswR40L2uVrjqTgOc30G9uZP3AXryiiTtAv7hbFNDZ+zqkbVqwreg7Xyowk+50RJ1i7sVOn3699mbu9yS1GfoD0/0tIy8wFPN7vhNwMAAA== From 37067f73d7371090ff87aa9163cfa9637a3fb2e4 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 14:26:27 +0200 Subject: [PATCH 82/97] whitespace and comment changes only Change-Id: Iee3d59674afa1aa4fa3be98afcbf0bedf54e21ea --- .../racelogtracking/impl/fixtracker/FixLoaderAndTracker.java | 2 +- .../impl/fixtracker/RegattaLogDeviceMappings.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java index e7fb40e65d6..107eb1aeae4 100755 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/FixLoaderAndTracker.java @@ -348,7 +348,7 @@ public class FixLoaderAndTracker implements TrackingDataLoader { @Override protected void mappingRemoved(DeviceMappingWithRegattaLogEvent mapping) { final DeviceIdentifier device = mapping.getDevice(); - if(!hasMappingForDevice(device)) { + if (!hasMappingForDevice(device)) { sensorFixStore.removeListener(listener, device); } // TODO if tracks are always associated to only one device mapping, we could remove tracks here diff --git a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/RegattaLogDeviceMappings.java b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/RegattaLogDeviceMappings.java index f1419b3c878..e61d9abd4a9 100644 --- a/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/RegattaLogDeviceMappings.java +++ b/java/com.sap.sailing.domain.racelogtrackingadapter/src/com/sap/sailing/domain/racelogtracking/impl/fixtracker/RegattaLogDeviceMappings.java @@ -262,6 +262,10 @@ public abstract class RegattaLogDeviceMappings { calculateDiff(oldMappings, newMappings); } + /** + * Calculates and applies the mapping changes by removing listeners no longer needed for the mappings removed, + * and by loading and adding the fixes for extended or added mappings. + */ private void calculateDiff(Map>> previousMappings, Map>> newMappings) { Set itemsToProcess = new HashSet(previousMappings.keySet()); From 47a612985d735b14d6d13d0a50340e30d1ae562d Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Thu, 29 Sep 2016 13:32:46 +0000 Subject: [PATCH 83/97] Updated data consumption (markdown) --- wiki/info/mobile/data-consumption.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wiki/info/mobile/data-consumption.md b/wiki/info/mobile/data-consumption.md index 3144457d049..21ec4b562b3 100644 --- a/wiki/info/mobile/data-consumption.md +++ b/wiki/info/mobile/data-consumption.md @@ -6,9 +6,13 @@ This article can be used to store information on the data consumption that can b Energy consumption of the tracking itself is - without any optimization and compression of the messages at the time of writing this - quite low already. Ten hours of tracking mean less than five MB of data volume for the messages themselve, if you choose to send them immediately. If sent in intervalls you can minimize the size of the messages further, since you do not have to sent the devices UUID with every fix. Sending every second message together with the previous one will theoretically equal to around three to four MB of data volume needed for ten hours of tracking. -It is technically possible to compress the sent JSON messages with GZIP. Even if every message is sent individually you can achieve a compression ratio of ~103% which on it's own is not a lot, but at least it does not make it worse. Where it would really come in handy is when several messages are sent together. At a 5 second sending intervall, you can already achieve compression ratios of 300% and more. The challenge with sending GZIP-compressed JSON messages to the server is that this has to be supported by the webserver. Normally only messages sent from the server to the client can contain compressed content. There are ways to enable Apaches to receive compressed content, this definitely could use some testing. +It is technically possible to compress the sent JSON messages with GZIP. Even if every message is sent individually you can achieve a compression ratio of ~103% which on it's own is not a lot, but at least it does not make it worse. Where it would really come in handy is when several messages are sent together. At a 5 second sending intervall, you can already achieve compression ratios of 300% and more. The challenge with sending GZIP-compressed JSON messages to the server is that this has to be supported by the webserver. Normally only messages sent from the server to the client can contain compressed content. There are ways to enable Apaches to receive compressed content but that probably is a lot of work. -Since the app not only produces traffic when tracking, but also when checking in to a event or reopening that, when loading and sending team photos etc. energy consumption is significantly higher than the previously mentioned values. Since we cannot determine how often users will open and close the app, open the regattas, refresh photos etc. we cannot give good estimations on that even if we knew how much data volume every single one of these actions costs. +A better idea to cut down on data consumption of the fixes messages in the InSight app is to assemble byte messages directly instead of taking JSON messages and encoding them with UTF-8. You can simply assemble a DataOutputStream / ByteArrayOutputStream with the UUID as 2 64-bit longs at the beginning and then append the values of all the parameters in a certain order with certain data types of certain lengths. On the server-side you can then read that stream of data, extract the first 16 bytes as UUID and then split the rest of the data into the fixes again. +On [Bug 3933](https://bugzilla.sapsailing.com/bugzilla/show_bug.cgi?id=3933) you can already find an implementation for assembling such a byte message. We already evaluated that you can save more than two thirds of the message length by doing this. +This only has to be implemented further down to the point where the data is sent and on the server side, possibly with a parameter in the URL to enable the servers to accept both JSON and direct byte messages, an implementation to split them apart again. + +Since the app not only produces traffic when tracking, but also when checking in to a event or reopening that, when loading and sending team photos etc. energy consumption is significantly higher than the previously mentioned values. Since we cannot determine how often users will open and close the app, open the regattas, refresh photos etc. we cannot give good estimations for real world use cases even if we knew how much data volume every single one of these actions costs. What we can say is, that testing the app extensively over a time of four weeks with booking into events probably more than 100 times and tracking way more than 30 hours caused around 50 to 100 MB of traffic on the testing phones. Under normal conditions the traffic for one event should stay well below the former of these numbers. From a5f2fb75915df7db4dab7fbc85f7bdae87083b29 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 16:13:30 +0200 Subject: [PATCH 84/97] implemented caching for mark positions throughout essential call trees relevant for mark passing calculations; see bug 3932 Change-Id: I1a6384473332efc4735b0ec70b0907ec45ef4e71 --- .../domain/test/mock/MockedTrackedRace.java | 3 +- ...ockedTrackedRaceWithStartTimeAndRanks.java | 3 +- .../impl/CandidateFinderImpl.java | 149 ++++++++++-------- .../MarkPositionAtTimePointCache.java | 58 +++++++ .../sailing/domain/tracking/TrackedLeg.java | 20 +++ .../sailing/domain/tracking/TrackedRace.java | 18 ++- .../MarkPositionAtTimePointCacheImpl.java | 62 ++++++++ ...onCachingMarkPositionAtTimePointCache.java | 46 ++++++ .../domain/tracking/impl/TrackedLegImpl.java | 25 ++- .../domain/tracking/impl/TrackedRaceImpl.java | 7 +- .../gwt/ui/test/MockedTrackedRace.java | 3 +- .../server/masterdata/DummyTrackedRace.java | 3 +- 12 files changed, 315 insertions(+), 82 deletions(-) create mode 100644 java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/MarkPositionAtTimePointCache.java create mode 100644 java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/MarkPositionAtTimePointCacheImpl.java create mode 100644 java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/NonCachingMarkPositionAtTimePointCache.java diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java index f1de4300373..be7078afd44 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRace.java @@ -63,6 +63,7 @@ import com.sap.sailing.domain.tracking.GPSFixTrack; import com.sap.sailing.domain.tracking.LineDetails; import com.sap.sailing.domain.tracking.Maneuver; import com.sap.sailing.domain.tracking.MarkPassing; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.RaceAbortedListener; import com.sap.sailing.domain.tracking.RaceChangeListener; import com.sap.sailing.domain.tracking.RaceExecutionOrderProvider; @@ -612,7 +613,7 @@ public class MockedTrackedRace implements DynamicTrackedRace { } @Override - public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint) { + public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint, MarkPositionAtTimePointCache markPositionCache) { return null; } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRaceWithStartTimeAndRanks.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRaceWithStartTimeAndRanks.java index 25e7cbdc60d..fefad810f2b 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRaceWithStartTimeAndRanks.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/mock/MockedTrackedRaceWithStartTimeAndRanks.java @@ -42,6 +42,7 @@ import com.sap.sailing.domain.tracking.GPSFixTrack; import com.sap.sailing.domain.tracking.LineDetails; import com.sap.sailing.domain.tracking.Maneuver; import com.sap.sailing.domain.tracking.MarkPassing; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.RaceAbortedListener; import com.sap.sailing.domain.tracking.RaceChangeListener; import com.sap.sailing.domain.tracking.RaceExecutionOrderProvider; @@ -218,7 +219,7 @@ public class MockedTrackedRaceWithStartTimeAndRanks implements TrackedRace { } @Override - public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint) { + public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint, MarkPositionAtTimePointCache markPositionCache) { return null; } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java index b82874e0663..78ed4a0c4f7 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/impl/CandidateFinderImpl.java @@ -39,6 +39,8 @@ import com.sap.sailing.domain.markpassingcalculation.CandidateFinder; import com.sap.sailing.domain.tracking.DynamicGPSFixTrack; import com.sap.sailing.domain.tracking.DynamicTrackedRace; import com.sap.sailing.domain.tracking.GPSFixTrack; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; +import com.sap.sailing.domain.tracking.impl.MarkPositionAtTimePointCacheImpl; import com.sap.sailing.domain.tracking.impl.TimedComparator; import com.sap.sse.common.Duration; import com.sap.sse.common.TimePoint; @@ -611,15 +613,16 @@ public class CandidateFinderImpl implements CandidateFinder { if (Math.abs(dis.getMeters()) < Math.abs(disBefore.getMeters()) && Math.abs(dis.getMeters()) < Math.abs(disAfter.getMeters())) { t = fix.getTimePoint(); + final MarkPositionAtTimePointCache markPositionCache = new MarkPositionAtTimePointCacheImpl(race, t); p = fix.getPosition(); - Double newProbability = getDistanceBasedProbability(w, t, dis); + Double newProbability = getDistanceBasedProbability(w, t, dis, markPositionCache); if (newProbability != null) { // FIXME why not generate the candidate here where we have all information at hand? - final double newOnCorrectSideOfWaypointPenalty = getSidePenalty(w, p, t, portMark); + final double newOnCorrectSideOfWaypointPenalty = getSidePenalty(w, p, t, portMark, markPositionCache); newProbability *= newOnCorrectSideOfWaypointPenalty * PENALTY_FOR_DISTANCE_CANDIDATES; final Double newStartProbabilityBasedOnOtherCompetitors; if (isStartWaypoint(w)) { - newStartProbabilityBasedOnOtherCompetitors = getProbabilityForStartCandidateBasedOnOtherCompetitorsBehavior(c, t); + newStartProbabilityBasedOnOtherCompetitors = getProbabilityForStartCandidateBasedOnOtherCompetitorsBehavior(c, t, markPositionCache); if (newStartProbabilityBasedOnOtherCompetitors != null) { newProbability *= newStartProbabilityBasedOnOtherCompetitors; } @@ -670,6 +673,7 @@ public class CandidateFinderImpl implements CandidateFinder { private Map> getDistances(Competitor c, GPSFix fix) { // TODO Possibly for specific waypoints Map> result = distanceCache.get(c).get(fix); + final MarkPositionAtTimePointCache markPositionCache = new MarkPositionAtTimePointCacheImpl(race, fix.getTimePoint()); if (result == null) { // Else calculate distances and put them into the cache result = new LinkedHashMap<>(); @@ -677,7 +681,7 @@ public class CandidateFinderImpl implements CandidateFinder { course.lockForRead(); try { for (Waypoint w : course.getWaypoints()) { - List distances = calculateDistance(fix.getPosition(), w, fix.getTimePoint()); + List distances = calculateDistance(fix.getPosition(), w, fix.getTimePoint(), markPositionCache); result.put(w, distances); } } finally { @@ -818,13 +822,14 @@ public class CandidateFinderImpl implements CandidateFinder { result = new HashMap<>(); Position p = fix.getPosition(); TimePoint t = fix.getTimePoint(); + final MarkPositionAtTimePointCache markPositionCache = new MarkPositionAtTimePointCacheImpl(race, t); Course course = race.getRace().getCourse(); course.lockForRead(); try { for (Waypoint w : course.getWaypoints()) { List distances = new ArrayList<>(); result.put(w, distances); - for (Util.Pair crossingInfo : getCrossingInformation(w, t)) { + for (Util.Pair crossingInfo : getCrossingInformation(w, t, markPositionCache)) { if (crossingInfo.getA() != null && crossingInfo.getB() != null) { distances.add(p.crossTrackError(crossingInfo.getA(), crossingInfo.getB())); } @@ -838,20 +843,6 @@ public class CandidateFinderImpl implements CandidateFinder { return result; } - /** - * Calculates the cross-track error of each fix to the position and crossing bearing of each waypoint. Gates have - * two of these and lines always go from the port mark to the starboard mark. - * - * - * /* private void calculateCrossTrackErrors(Competitor c, Iterable fixes, Iterable - * waypointsToCalculate) { for (GPSFix fix : fixes) { Position fixPos = fix.getPosition(); TimePoint t = - * fix.getTimePoint(); Map> waypointXTE = new HashMap>(); - * crossTrackErrors.get(c).put(fix, waypointXTE); for (Waypoint w : race.getRace().getCourse().getWaypoints()) { - * List xte = new ArrayList<>(); waypointXTE.put(w, xte); for (Util.Pair crossingInfo : - * getCrossingInformation(w, t)) { xte.add(fixPos.crossTrackError(crossingInfo.getA(), - * crossingInfo.getB()).getMeters()); } } } } - */ - /** * {@code xte1} and {@code xte2} are expected to have different signums or both be 0. The method * interpolates between the time points {@code t1} and {@code t2} according to where the XTE is @@ -863,10 +854,11 @@ public class CandidateFinderImpl implements CandidateFinder { final double ratio = (Math.abs(xte1) / (Math.abs(xte1) + Math.abs(xte2))); final TimePoint t = t1.plus((long) (differenceInMillis * ratio)); final Position p = race.getTrack(c).getEstimatedPosition(t, false); - final List distances = calculateDistance(p, w, t); + final List distances = calculateDistance(p, w, t, new MarkPositionAtTimePointCacheImpl(race, t)); final Distance d = portMark ? distances.get(0) : distances.get(1); - final double sidePenalty = getSidePenalty(w, p, t, portMark); - double probability = getDistanceBasedProbability(w, t, d) * sidePenalty; + final MarkPositionAtTimePointCache markPositionCache = new MarkPositionAtTimePointCacheImpl(race, t); + final double sidePenalty = getSidePenalty(w, p, t, portMark, markPositionCache); + double probability = getDistanceBasedProbability(w, t, d, markPositionCache) * sidePenalty; final Double passesInTheRightDirectionProbability = passesInTheRightDirection(w, xte1, xte2, portMark); // null would mean "unknown"; no penalty for those cases probability = passesInTheRightDirectionProbability == null ? probability : probability * passesInTheRightDirectionProbability; @@ -876,7 +868,7 @@ public class CandidateFinderImpl implements CandidateFinder { // at time point t the other competitors are largely not even close to the start waypoint; // this will make start candidates much more likely if many other competitors are also very close to the // start, and it will help ruling out those candidates where someone is practicing a start just for themselves - startProbabilityBasedOnOtherCompetitors = getProbabilityForStartCandidateBasedOnOtherCompetitorsBehavior(c, t); + startProbabilityBasedOnOtherCompetitors = getProbabilityForStartCandidateBasedOnOtherCompetitorsBehavior(c, t, markPositionCache); if (startProbabilityBasedOnOtherCompetitors != null) { probability *= startProbabilityBasedOnOtherCompetitors; } @@ -939,9 +931,9 @@ public class CandidateFinderImpl implements CandidateFinder { * A low variance with a positive average (meaning on course side) indicates that everyone else may have started around the * same time, making this a probable late starter's candidate. Therefore, low variance with positive average shall increase * a probability that was low because of a large weighted average distance. - * * @param t * the time point at which to consider the other competitors behavior relative to the start waypoint + * * @return {@code null} if the {@link #race} has a gate start or the start time is known; a probability between 0..1 * (inclusive) where 0 means that based on all but {@code c}'s relation to the start line it seems * completely unlikely that a candidate for {@code c} at time {@code t} could have been a start candidate; 1 @@ -949,11 +941,13 @@ public class CandidateFinderImpl implements CandidateFinder { * a fact that this must have been the start. * */ - private Double getProbabilityForStartCandidateBasedOnOtherCompetitorsBehavior(Competitor c, TimePoint t) { + private Double getProbabilityForStartCandidateBasedOnOtherCompetitorsBehavior(Competitor c, TimePoint t, MarkPositionAtTimePointCache markPositionCache) { + assert t.equals(markPositionCache.getTimePoint()); + assert race == markPositionCache.getTrackedRace(); final Double result; if (race.getStartOfRace(/* inferred */ false) == null && race.isGateStart() != Boolean.TRUE) { final Waypoint start = race.getRace().getCourse().getFirstWaypoint(); - final Iterable> crossingInformationForStart = getCrossingInformation(start, t); + final Iterable> crossingInformationForStart = getCrossingInformation(start, t, markPositionCache); if (start == null) { result = 1.0; } else { @@ -967,7 +961,7 @@ public class CandidateFinderImpl implements CandidateFinder { final Position estimatedPositionAtT = track.getEstimatedPosition(t, /* extrapolate */ true); // consider that a position may not be available for that other competitor, although a track exists if (estimatedPositionAtT != null) { - final Distance otherCompetitorsDistanceToStartAtT = getMinDistanceOrNull(calculateDistance(estimatedPositionAtT, start, t)); + final Distance otherCompetitorsDistanceToStartAtT = getMinDistanceOrNull(calculateDistance(estimatedPositionAtT, start, t, markPositionCache)); if (otherCompetitorsDistanceToStartAtT != null) { final Distance crossTrackError; if (startIsLine) { @@ -1102,14 +1096,16 @@ public class CandidateFinderImpl implements CandidateFinder { * to be negative. If the passing instructions are {@link PassingInstruction#Line}, it checks whether the boat * passed between the two marks. */ - private double getSidePenalty(Waypoint w, Position p, TimePoint t, boolean portMark) { + private double getSidePenalty(Waypoint w, Position p, TimePoint t, boolean portMark, MarkPositionAtTimePointCache markPositionCache) { + assert t.equals(markPositionCache.getTimePoint()); + assert race == markPositionCache.getTrackedRace(); boolean isOnRightSide = true; Distance onWrongSide = new MeterDistance(0); PassingInstruction instruction = getPassingInstructions(w); if (instruction == PassingInstruction.Line) { List pos = new ArrayList<>(); for (Mark m : w.getMarks()) { - Position po = race.getOrCreateTrack(m).getEstimatedPosition(t, false); + Position po = markPositionCache.getEstimatedPosition(m); if (po == null) { isOnRightSide = true; break; @@ -1137,11 +1133,11 @@ public class CandidateFinderImpl implements CandidateFinder { || instruction == PassingInstruction.FixedBearing || instruction == PassingInstruction.Offset) { m = w.getMarks().iterator().next(); } else if (instruction == PassingInstruction.Gate) { - Util.Pair pair = getPortAndStarboardMarks(t, w); + Util.Pair pair = getPortAndStarboardMarks(t, w, markPositionCache); m = portMark ? pair.getA() : pair.getB(); } if (m != null) { - Util.Pair crossingInfo = Util.get(getCrossingInformation(w, t), portMark ? 0 : 1); + Util.Pair crossingInfo = Util.get(getCrossingInformation(w, t, markPositionCache), portMark ? 0 : 1); isOnRightSide = p.crossTrackError(crossingInfo.getA(), crossingInfo.getB().add(new DegreeBearingImpl(90))).getMeters() < 0; if (isOnRightSide == false) { onWrongSide = p.getDistance(crossingInfo.getA()); @@ -1195,9 +1191,11 @@ public class CandidateFinderImpl implements CandidateFinder { /** * @return a probability based on the distance to w and the average leg lengths before and after. */ - private Double getDistanceBasedProbability(Waypoint w, TimePoint t, Distance distance) { + private Double getDistanceBasedProbability(Waypoint w, TimePoint t, Distance distance, MarkPositionAtTimePointCache markPositionCache) { + assert t.equals(markPositionCache.getTimePoint()); + assert race == markPositionCache.getTrackedRace(); final Double result; - Distance legLength = getAverageLengthOfAdjacentLegs(t, w); + Distance legLength = getAverageLengthOfAdjacentLegs(t, w, markPositionCache); if (legLength != null) { result = 1 / (STRICTNESS_OF_DISTANCE_BASED_PROBABILITY/* Raising this will make it stricter */ // reduce distance by 2x the typical HDOP, accounting for the possibility that some distance from the mark @@ -1212,18 +1210,20 @@ public class CandidateFinderImpl implements CandidateFinder { /** * @return an average of the estimated legs before and after w. */ - private Distance getAverageLengthOfAdjacentLegs(TimePoint t, Waypoint w) { + private Distance getAverageLengthOfAdjacentLegs(TimePoint t, Waypoint w, MarkPositionAtTimePointCache markPositionCache) { + assert t.equals(markPositionCache.getTimePoint()); + assert race == markPositionCache.getTrackedRace(); final Distance result; final Course course = race.getRace().getCourse(); if (course.getNumberOfWaypoints() < 2) { result = null; } else if (w == course.getFirstWaypoint()) { - result = race.getTrackedLegStartingAt(w).getGreatCircleDistance(t); + result = race.getTrackedLegStartingAt(w).getGreatCircleDistance(t, markPositionCache); } else if (w == course.getLastWaypoint()) { - result = race.getTrackedLegFinishingAt(w).getGreatCircleDistance(t); + result = race.getTrackedLegFinishingAt(w).getGreatCircleDistance(t, markPositionCache); } else { - Distance before = race.getTrackedLegStartingAt(w).getGreatCircleDistance(t); - Distance after = race.getTrackedLegFinishingAt(w).getGreatCircleDistance(t); + Distance before = race.getTrackedLegStartingAt(w).getGreatCircleDistance(t, markPositionCache); + Distance after = race.getTrackedLegFinishingAt(w).getGreatCircleDistance(t, markPositionCache); if (after != null && before != null) { result = new MeterDistance(before.add(after).getMeters() / 2); } else { @@ -1235,8 +1235,13 @@ public class CandidateFinderImpl implements CandidateFinder { /** * Calculates the distance from p to each mark of w at the timepoint t. + * + * @param markPositionCache + * a mark position cache for time point {@code t} for this finder's {@link #race} */ - private List calculateDistance(Position p, Waypoint w, TimePoint t) { + private List calculateDistance(Position p, Waypoint w, TimePoint t, MarkPositionAtTimePointCache markPositionCache) { + assert t.equals(markPositionCache.getTimePoint()); + assert race == markPositionCache.getTrackedRace(); final List distances = new ArrayList<>(); PassingInstruction instruction = getPassingInstructions(w); boolean singleMark = false; @@ -1248,25 +1253,25 @@ public class CandidateFinderImpl implements CandidateFinder { singleMark = true; break; case Gate: - Util.Pair posGate = getPortAndStarboardMarks(t, w); + Util.Pair posGate = getPortAndStarboardMarks(t, w, markPositionCache); if (posGate.getA() != null) { - Position portGatePosition = race.getOrCreateTrack(posGate.getA()).getEstimatedPosition(t, false); + Position portGatePosition = markPositionCache.getEstimatedPosition(posGate.getA()); distances.add(portGatePosition != null ? p.getDistance(portGatePosition) : null); } else { distances.add(null); } if (posGate.getB() != null) { - Position starboardGatePosition = race.getOrCreateTrack(posGate.getB()).getEstimatedPosition(t, false); + Position starboardGatePosition = markPositionCache.getEstimatedPosition(posGate.getB()); distances.add(starboardGatePosition != null ? p.getDistance(starboardGatePosition) : null); } else { distances.add(null); } break; case Line: - Util.Pair posLine = getPortAndStarboardMarks(t, w); + Util.Pair posLine = getPortAndStarboardMarks(t, w, markPositionCache); if (posLine.getA() != null && posLine.getB() != null) { - Position portLinePosition = race.getOrCreateTrack(posLine.getA()).getEstimatedPosition(t, false); - Position starboardLinePosition = race.getOrCreateTrack(posLine.getB()).getEstimatedPosition(t, false); + Position portLinePosition = markPositionCache.getEstimatedPosition(posLine.getA()); + Position starboardLinePosition = markPositionCache.getEstimatedPosition(posLine.getB()); distances.add((portLinePosition != null && starboardLinePosition != null) ? p.getDistanceToLine( portLinePosition, starboardLinePosition).abs() : null); } @@ -1282,8 +1287,7 @@ public class CandidateFinderImpl implements CandidateFinder { break; } if (singleMark) { - Position markPosition = race.getOrCreateTrack(w.getMarks().iterator().next()) - .getEstimatedPosition(t, false); + Position markPosition = markPositionCache.getEstimatedPosition(w.getMarks().iterator().next()); distances.add(markPosition != null ? p.getDistance(markPosition) : null); } return distances; @@ -1304,44 +1308,46 @@ public class CandidateFinderImpl implements CandidateFinder { * @return all possible ways to pass a waypoint, described as a position and a bearing. The line out of those two * must be crossed. */ - private Iterable> getCrossingInformation(Waypoint w, TimePoint t) { + private Iterable> getCrossingInformation(Waypoint w, TimePoint t, MarkPositionAtTimePointCache markPositionCache) { + assert t.equals(markPositionCache.getTimePoint()); + assert race == markPositionCache.getTrackedRace(); List> result = new ArrayList<>(); PassingInstruction instruction = getPassingInstructions(w); if (instruction == PassingInstruction.Line) { - Util.Pair marks = getPortAndStarboardMarks(t, w); + Util.Pair marks = getPortAndStarboardMarks(t, w, markPositionCache); Position portPosition = null; Bearing b = null; Mark portMark = marks.getA(); Mark starBoardMark = marks.getB(); if (portMark != null && starBoardMark != null) { - portPosition = race.getOrCreateTrack(portMark).getEstimatedPosition(t, false); - Position starboardPosition = race.getOrCreateTrack(starBoardMark).getEstimatedPosition(t, false); + portPosition = markPositionCache.getEstimatedPosition(portMark); + Position starboardPosition = markPositionCache.getEstimatedPosition(starBoardMark); if (portPosition != null && starboardPosition != null) { b = portPosition.getBearingGreatCircle(starboardPosition); result.add(new Util.Pair(portPosition, b)); } } } else if (instruction == PassingInstruction.Gate) { - Position before = race.getApproximatePosition(race.getTrackedLegFinishingAt(w).getLeg().getFrom(), t); - Position after = race.getApproximatePosition(race.getTrackedLegStartingAt(w).getLeg().getTo(), t); - Util.Pair pos = getPortAndStarboardMarks(t, w); + Position before = markPositionCache.getApproximatePosition(race.getTrackedLegFinishingAt(w).getLeg().getFrom()); + Position after = markPositionCache.getApproximatePosition(race.getTrackedLegStartingAt(w).getLeg().getTo()); + Util.Pair pos = getPortAndStarboardMarks(t, w, markPositionCache); Mark portMark = pos.getA(); if (portMark != null) { - Position portPosition = race.getOrCreateTrack(portMark).getEstimatedPosition(t, false); + Position portPosition = markPositionCache.getEstimatedPosition(portMark); Bearing crossingPort = before.getBearingGreatCircle(portPosition).middle( after.getBearingGreatCircle(portPosition)); result.add(new Util.Pair(portPosition, crossingPort)); } Mark starboardMark = pos.getB(); if (starboardMark != null) { - Position starboardPosition = race.getOrCreateTrack(starboardMark).getEstimatedPosition(t, false); + Position starboardPosition = markPositionCache.getEstimatedPosition(starboardMark); Bearing crossingStarboard = before.getBearingGreatCircle(starboardPosition).middle( after.getBearingGreatCircle(starboardPosition)); result.add(new Util.Pair(starboardPosition, crossingStarboard)); } } else { // single mark Bearing b = null; - Position p = race.getOrCreateTrack(w.getMarks().iterator().next()).getEstimatedPosition(t, false); + Position p = markPositionCache.getEstimatedPosition(w.getMarks().iterator().next()); if (instruction == PassingInstruction.FixedBearing) { b = w.getFixedBearing(); } else { @@ -1351,23 +1357,23 @@ public class CandidateFinderImpl implements CandidateFinder { // orthogonally to the adjacent leg: if (w == race.getRace().getCourse().getFirstWaypoint()) { if (instruction == PassingInstruction.None || instruction == PassingInstruction.Single_Unknown) { - b = race.getTrackedLegStartingAt(w).getLegBearing(t).add(new DegreeBearingImpl(90)); + b = markPositionCache.getLegBearing(race.getTrackedLegStartingAt(w)).add(new DegreeBearingImpl(90)); result.add(new Pair<>(p, b)); - b = race.getTrackedLegStartingAt(w).getLegBearing(t).add(new DegreeBearingImpl(270)); + b = markPositionCache.getLegBearing(race.getTrackedLegStartingAt(w)).add(new DegreeBearingImpl(270)); } else { - b = race.getTrackedLegStartingAt(w).getLegBearing(t).add(new DegreeBearingImpl(instruction == PassingInstruction.Port ? 90 : 270)); + b = markPositionCache.getLegBearing(race.getTrackedLegStartingAt(w)).add(new DegreeBearingImpl(instruction == PassingInstruction.Port ? 90 : 270)); } } else if (w == race.getRace().getCourse().getLastWaypoint()) { if (instruction == PassingInstruction.None || instruction == PassingInstruction.Single_Unknown) { - b = race.getTrackedLegFinishingAt(w).getLegBearing(t).add(new DegreeBearingImpl(90)); + b = markPositionCache.getLegBearing(race.getTrackedLegFinishingAt(w)).add(new DegreeBearingImpl(90)); result.add(new Pair<>(p, b)); - b = race.getTrackedLegFinishingAt(w).getLegBearing(t).add(new DegreeBearingImpl(270)); + b = markPositionCache.getLegBearing(race.getTrackedLegFinishingAt(w)).add(new DegreeBearingImpl(270)); } else { - b = race.getTrackedLegFinishingAt(w).getLegBearing(t).add(new DegreeBearingImpl(instruction == PassingInstruction.Port ? 90 : 270)); + b = markPositionCache.getLegBearing(race.getTrackedLegFinishingAt(w)).add(new DegreeBearingImpl(instruction == PassingInstruction.Port ? 90 : 270)); } } else { - Bearing before = race.getTrackedLegFinishingAt(w).getLegBearing(t); - Bearing after = race.getTrackedLegStartingAt(w).getLegBearing(t); + Bearing before = markPositionCache.getLegBearing(race.getTrackedLegFinishingAt(w)); + Bearing after = markPositionCache.getLegBearing(race.getTrackedLegStartingAt(w)); if (before != null && after != null) { b = before.middle(after.reverse()); } @@ -1379,14 +1385,17 @@ public class CandidateFinderImpl implements CandidateFinder { } /** + * @param markPositionCache + * a mark position cache for this finder's {@link #race} for time point {@code t} * @return the marks of a waypoint with two marks in the order port, starboard (when approaching the waypoint from * the direction of the waypoint beforehand. */ - private Util.Pair getPortAndStarboardMarks(TimePoint t, Waypoint w) { + private Util.Pair getPortAndStarboardMarks(TimePoint t, Waypoint w, MarkPositionAtTimePointCache markPositionCache) { + assert t.equals(markPositionCache.getTimePoint()); + assert race == markPositionCache.getTrackedRace(); List markPositions = new ArrayList(); for (Mark mark : w.getMarks()) { - final Position estimatedMarkPosition = race.getOrCreateTrack(mark).getEstimatedPosition(t, /* extrapolate */ - false); + final Position estimatedMarkPosition = markPositionCache.getEstimatedPosition(mark); if (estimatedMarkPosition == null) { return new Util.Pair(null, null); } @@ -1401,8 +1410,8 @@ public class CandidateFinderImpl implements CandidateFinder { return new Util.Pair(null, null); } final boolean isStartLine = indexOfWaypoint == 0; - final Bearing legDeterminingDirectionBearing = race.getTrackedLeg( - legs.get(isStartLine ? 0 : indexOfWaypoint - 1)).getLegBearing(t); + final Bearing legDeterminingDirectionBearing = markPositionCache.getLegBearing(race.getTrackedLeg( + legs.get(isStartLine ? 0 : indexOfWaypoint - 1))); if (legDeterminingDirectionBearing == null) { return new Util.Pair(null, null); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/MarkPositionAtTimePointCache.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/MarkPositionAtTimePointCache.java new file mode 100644 index 00000000000..cd00e07b30c --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/MarkPositionAtTimePointCache.java @@ -0,0 +1,58 @@ +package com.sap.sailing.domain.tracking; + +import com.sap.sailing.domain.base.Mark; +import com.sap.sailing.domain.base.Waypoint; +import com.sap.sailing.domain.common.Bearing; +import com.sap.sailing.domain.common.Position; +import com.sap.sse.common.TimePoint; + +/** + * Some calculations that span several method calls require access to the same {@link Mark} positions for the same + * {@link TimePoint} within the scope of the same {@link TrackedRace} repeatedly. Usually, for such a compound + * calculation it doesn't matter whether a new fix has arrived in between, making it valid to cache the mark + * positions---once calculated---for the remainder of the compound operation. Based on these positions, approximate + * waypoint positions and leg bearings can also be calculated and cached. + *

    + * + * Implementations of this interface may cache the results of computing a mark's position for the duration of this + * object. + * + * @author Axel Uhl (D043530) + * + */ +public interface MarkPositionAtTimePointCache { + /** + * Gets the non-extrapolated mark position in this cache's tracked race at the time point + * specified. + * + * @see TrackedRace#getOrCreateTrack(Mark) + * @see GPSFixTrack#getEstimatedPosition(TimePoint, boolean) + */ + Position getEstimatedPosition(Mark mark); + + /** + * Gets the approximate position of a waypoint in the scope of this cache's tracked race at + * the time point specified. + * + * @see TrackedRace#getApproximatePosition(Waypoint, TimePoint) + */ + Position getApproximatePosition(Waypoint waypoint); + + /** + * Gets the bearing of the tracked leg at the time point specified, optionally based on mark position + * information already stored in this cache. + * + * @see TrackedLeg#getLegBearing(TimePoint) + */ + Bearing getLegBearing(TrackedLeg trackedLeg); + + /** + * @return the time point for which this cache holds values + */ + TimePoint getTimePoint(); + + /** + * @return the tracked race for which this cache holds values + */ + TrackedRace getTrackedRace(); +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java index a5ece6b1bfa..a68449ac7da 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java @@ -56,6 +56,16 @@ public interface TrackedLeg extends Serializable { Bearing getLegBearing(TimePoint at); + /** + * Same as {@link #getLegBearing(TimePoint)}, but giving the caller the possibility to provide a cache for + * mark positions and related position and bearing data + * + * @param markPositionCache + * a cache for this tracked leg's {@link MarkPositionAtTimePointCache#getTrackedRace() race} and the + * {@link MarkPositionAtTimePointCache#getTimePoint() timePoint} passed + */ + Bearing getLegBearing(TimePoint at, MarkPositionAtTimePointCache markPositionCache); + /** * Returns the positive (absolute) distance of p to this leg's course middle line at timePoint, * based on the position of the waypoints delimiting this leg at that time. @@ -80,6 +90,16 @@ public interface TrackedLeg extends Serializable { */ Distance getGreatCircleDistance(TimePoint timePoint); + /** + * Same as {@link #getGreatCircleDistance(TimePoint)}, but giving the caller the possibility to provide a cache for + * mark positions and related position and bearing data + * + * @param markPositionCache + * a cache for this tracked leg's {@link MarkPositionAtTimePointCache#getTrackedRace() race} and the + * {@link MarkPositionAtTimePointCache#getTimePoint() timePoint} passed + */ + Distance getGreatCircleDistance(TimePoint timePoint, MarkPositionAtTimePointCache markPositionCache); + /** * If the current {@link #getLeg() leg} is +/- {@link TrackedLegImpl#UPWIND_DOWNWIND_TOLERANCE_IN_DEG} degrees * collinear with the wind's bearing, pos1 is projected onto the line crossing pos2 in the diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java index 94544b60334..b9f36f9e1aa 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java @@ -49,6 +49,7 @@ import com.sap.sailing.domain.polars.NotEnoughDataHasBeenAddedException; import com.sap.sailing.domain.polars.PolarDataService; import com.sap.sailing.domain.ranking.RankingMetric; import com.sap.sailing.domain.ranking.RankingMetric.RankingInfo; +import com.sap.sailing.domain.tracking.impl.NonCachingMarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.impl.TrackedRaceImpl; import com.sap.sse.common.Duration; import com.sap.sse.common.IsManagedByCache; @@ -316,8 +317,22 @@ public interface TrackedRace extends Serializable, IsManagedByCachewaypoint only has one {@link #getMarks() mark}, its position at time timePoint * is returned. Otherwise, the center of gravity between the mark positions is computed and returned. */ - Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint); + default Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint) { + return getApproximatePosition(waypoint, timePoint, new NonCachingMarkPositionAtTimePointCache(this, timePoint)); + } + /** + * Same as {@link #getApproximatePosition(Waypoint, TimePoint)}, but giving the caller the possibility to pass a + * cache of mark positions and related information that can help speed up compound operations requiring frequent + * access to the same marks in the same race for the same time point. + * + * @param markPositionCache + * a cache for this {@link MarkPositionAtTimePointCache#getTrackedRace() race} and the + * {@link MarkPositionAtTimePointCache#getTimePoint() timePoint} passed + */ + Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint, + MarkPositionAtTimePointCache markPositionCache); + /** * Checks whether the {@link Wind#getTimePoint()} is in range of start and end {@link TimePoint}s plus extra time * for wind recording. If, based on a {@link RaceExecutionOrderProvider}, there is no previous race that takes the @@ -946,4 +961,5 @@ public interface TrackedRace extends Serializable, IsManagedByCache getAttachedRaceLogs(); + } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/MarkPositionAtTimePointCacheImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/MarkPositionAtTimePointCacheImpl.java new file mode 100644 index 00000000000..a3187c5d202 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/MarkPositionAtTimePointCacheImpl.java @@ -0,0 +1,62 @@ +package com.sap.sailing.domain.tracking.impl; + +import java.util.HashMap; +import java.util.Map; + +import com.sap.sailing.domain.base.Mark; +import com.sap.sailing.domain.base.Waypoint; +import com.sap.sailing.domain.common.Bearing; +import com.sap.sailing.domain.common.Position; +import com.sap.sailing.domain.tracking.TrackedLeg; +import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sse.common.TimePoint; + +public class MarkPositionAtTimePointCacheImpl extends NonCachingMarkPositionAtTimePointCache { + private final Map estimatedMarkPositions; + private final Map approximateWaypointPositions; + private final Map legBearings; + + public MarkPositionAtTimePointCacheImpl(TrackedRace trackedRace, TimePoint timePoint) { + super(trackedRace, timePoint); + estimatedMarkPositions = new HashMap<>(); + approximateWaypointPositions = new HashMap<>(); + legBearings = new HashMap<>(); + } + + @Override + public Position getEstimatedPosition(Mark mark) { + final Position result; + if (estimatedMarkPositions.containsKey(mark)) { + result = estimatedMarkPositions.get(mark); + } else { + result = super.getEstimatedPosition(mark); + estimatedMarkPositions.put(mark, result); + } + return result; + } + + @Override + public Position getApproximatePosition(Waypoint waypoint) { + final Position result; + if (approximateWaypointPositions.containsKey(waypoint)) { + result = approximateWaypointPositions.get(waypoint); + } else { + result = super.getApproximatePosition(waypoint); + approximateWaypointPositions.put(waypoint, result); + } + return result; + } + + @Override + public Bearing getLegBearing(TrackedLeg trackedLeg) { + final Bearing result; + if (legBearings.containsKey(trackedLeg)) { + result = legBearings.get(trackedLeg); + } else { + result = super.getLegBearing(trackedLeg); + legBearings.put(trackedLeg, result); + } + return result; + } + +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/NonCachingMarkPositionAtTimePointCache.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/NonCachingMarkPositionAtTimePointCache.java new file mode 100644 index 00000000000..600a2beb411 --- /dev/null +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/NonCachingMarkPositionAtTimePointCache.java @@ -0,0 +1,46 @@ +package com.sap.sailing.domain.tracking.impl; + +import com.sap.sailing.domain.base.Mark; +import com.sap.sailing.domain.base.Waypoint; +import com.sap.sailing.domain.common.Bearing; +import com.sap.sailing.domain.common.Position; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; +import com.sap.sailing.domain.tracking.TrackedLeg; +import com.sap.sailing.domain.tracking.TrackedRace; +import com.sap.sse.common.TimePoint; + +public class NonCachingMarkPositionAtTimePointCache implements MarkPositionAtTimePointCache { + private final TrackedRace trackedRace; + private final TimePoint timePoint; + + public NonCachingMarkPositionAtTimePointCache(TrackedRace trackedRace, TimePoint timePoint) { + super(); + this.trackedRace = trackedRace; + this.timePoint = timePoint; + } + + @Override + public Position getEstimatedPosition(Mark mark) { + return trackedRace.getOrCreateTrack(mark).getEstimatedPosition(timePoint, /* extrapolate */ false); + } + + @Override + public Position getApproximatePosition(Waypoint waypoint) { + return trackedRace.getApproximatePosition(waypoint, timePoint, this); + } + + @Override + public Bearing getLegBearing(TrackedLeg trackedLeg) { + return trackedLeg.getLegBearing(timePoint, this); + } + + @Override + public TrackedRace getTrackedRace() { + return trackedRace; + } + + @Override + public TimePoint getTimePoint() { + return timePoint; + } +} diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegImpl.java index d5902aeaac8..4993f55b9d7 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegImpl.java @@ -39,6 +39,7 @@ import com.sap.sailing.domain.leaderboard.caching.LeaderboardDTOCalculationReuse import com.sap.sailing.domain.polars.NotEnoughDataHasBeenAddedException; import com.sap.sailing.domain.polars.PolarDataService; import com.sap.sailing.domain.tracking.MarkPassing; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.TrackedLeg; import com.sap.sailing.domain.tracking.TrackedLegOfCompetitor; import com.sap.sailing.domain.tracking.TrackedRace; @@ -204,8 +205,15 @@ public class TrackedLegImpl implements TrackedLeg { @Override public Bearing getLegBearing(TimePoint at) { - Position startMarkPos = getTrackedRace().getApproximatePosition(getLeg().getFrom(), at); - Position endMarkPos = getTrackedRace().getApproximatePosition(getLeg().getTo(), at); + return getLegBearing(at, new MarkPositionAtTimePointCacheImpl(getTrackedRace(), at)); + } + + @Override + public Bearing getLegBearing(TimePoint at, MarkPositionAtTimePointCache markPositionCache) { + assert markPositionCache.getTimePoint().equals(at); + assert markPositionCache.getTrackedRace() == getTrackedRace(); + Position startMarkPos = markPositionCache.getApproximatePosition(getLeg().getFrom()); + Position endMarkPos = markPositionCache.getApproximatePosition(getLeg().getTo()); Bearing legBearing = (startMarkPos != null && endMarkPos != null) ? startMarkPos.getBearingGreatCircle(endMarkPos) : null; return legBearing; } @@ -337,10 +345,12 @@ public class TrackedLegImpl implements TrackedLeg { } @Override - public Distance getGreatCircleDistance(TimePoint timePoint) { + public Distance getGreatCircleDistance(TimePoint timePoint, MarkPositionAtTimePointCache markPositionCache) { + assert markPositionCache.getTimePoint().equals(timePoint); + assert markPositionCache.getTrackedRace() == getTrackedRace(); final Distance result; - final Position approximatePositionOfFrom = getTrackedRace().getApproximatePosition(getLeg().getFrom(), timePoint); - final Position approximatePositionOfTo = getTrackedRace().getApproximatePosition(getLeg().getTo(), timePoint); + final Position approximatePositionOfFrom = markPositionCache.getApproximatePosition(getLeg().getFrom()); + final Position approximatePositionOfTo = markPositionCache.getApproximatePosition(getLeg().getTo()); if (approximatePositionOfFrom != null && approximatePositionOfTo != null) { result = approximatePositionOfFrom.getDistance(approximatePositionOfTo); } else { @@ -349,6 +359,11 @@ public class TrackedLegImpl implements TrackedLeg { return result; } + @Override + public Distance getGreatCircleDistance(TimePoint timePoint) { + return getGreatCircleDistance(timePoint, new NonCachingMarkPositionAtTimePointCache(getTrackedRace(), timePoint)); + } + @Override public Distance getAbsoluteWindwardDistance(Position pos1, Position pos2, TimePoint at, WindPositionMode windPositionMode) { return getAbsoluteWindwardDistance(pos1, pos2, at, windPositionMode, new LeaderboardDTOCalculationReuseCache(at)); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java index 9973e347fb1..7fc6c791f28 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java @@ -127,6 +127,7 @@ import com.sap.sailing.domain.tracking.GPSTrackListener; import com.sap.sailing.domain.tracking.LineDetails; import com.sap.sailing.domain.tracking.Maneuver; import com.sap.sailing.domain.tracking.MarkPassing; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.RaceChangeListener; import com.sap.sailing.domain.tracking.RaceExecutionOrderProvider; import com.sap.sailing.domain.tracking.RaceListener; @@ -1671,10 +1672,12 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl } @Override - public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint) { + public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint, MarkPositionAtTimePointCache markPositionCache) { + assert timePoint.equals(markPositionCache.getTimePoint()); + assert this == markPositionCache.getTrackedRace(); Position result = null; for (Mark mark : waypoint.getMarks()) { - Position nextPos = getOrCreateTrack(mark).getEstimatedPosition(timePoint, /* extrapolate */false); + Position nextPos = markPositionCache.getEstimatedPosition(mark); if (result == null) { result = nextPos; } else if (nextPos != null) { diff --git a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/MockedTrackedRace.java b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/MockedTrackedRace.java index f3eb526e5f2..b58478a3a82 100644 --- a/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/MockedTrackedRace.java +++ b/java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/MockedTrackedRace.java @@ -50,6 +50,7 @@ import com.sap.sailing.domain.tracking.GPSFixTrack; import com.sap.sailing.domain.tracking.LineDetails; import com.sap.sailing.domain.tracking.Maneuver; import com.sap.sailing.domain.tracking.MarkPassing; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.RaceAbortedListener; import com.sap.sailing.domain.tracking.RaceChangeListener; import com.sap.sailing.domain.tracking.RaceExecutionOrderProvider; @@ -352,7 +353,7 @@ public class MockedTrackedRace implements DynamicTrackedRace { } @Override - public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint) { + public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint, MarkPositionAtTimePointCache markPositionCache) { return null; } diff --git a/java/com.sap.sailing.server/src/com/sap/sailing/server/masterdata/DummyTrackedRace.java b/java/com.sap.sailing.server/src/com/sap/sailing/server/masterdata/DummyTrackedRace.java index 72616d0e514..c5be8205189 100755 --- a/java/com.sap.sailing.server/src/com/sap/sailing/server/masterdata/DummyTrackedRace.java +++ b/java/com.sap.sailing.server/src/com/sap/sailing/server/masterdata/DummyTrackedRace.java @@ -41,6 +41,7 @@ import com.sap.sailing.domain.tracking.GPSFixTrack; import com.sap.sailing.domain.tracking.LineDetails; import com.sap.sailing.domain.tracking.Maneuver; import com.sap.sailing.domain.tracking.MarkPassing; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.RaceAbortedListener; import com.sap.sailing.domain.tracking.RaceChangeListener; import com.sap.sailing.domain.tracking.RaceExecutionOrderProvider; @@ -213,7 +214,7 @@ public class DummyTrackedRace extends TrackedRaceWithWindEssentials { } @Override - public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint) { + public Position getApproximatePosition(Waypoint waypoint, TimePoint timePoint, MarkPositionAtTimePointCache markPositionCache) { return null; } From 804bd605b4b9e9a6b2b51cc9f4b743bebe3efdba Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 16:17:11 +0200 Subject: [PATCH 85/97] fixing test set-up which now also has to mock the new TrackedRace.getApproximatePosition overload Change-Id: I40926b8776db0684175e914c6450030fbac2bf6e --- .../src/com/sap/sailing/domain/test/TrackedRaceCenterTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackedRaceCenterTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackedRaceCenterTest.java index 50b4e9d54f0..f393b19359c 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackedRaceCenterTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TrackedRaceCenterTest.java @@ -22,6 +22,7 @@ import com.sap.sailing.domain.common.impl.DegreePosition; import com.sap.sailing.domain.common.tracking.GPSFix; import com.sap.sailing.domain.common.tracking.impl.GPSFixImpl; import com.sap.sailing.domain.tracking.DynamicGPSFixTrack; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sailing.domain.tracking.impl.DynamicGPSFixTrackImpl; import com.sap.sailing.domain.tracking.impl.DynamicTrackedRaceImpl; @@ -50,6 +51,7 @@ public class TrackedRaceCenterTest { trackedRace = mock(DynamicTrackedRaceImpl.class); when(trackedRace.getCenterOfCourse(Matchers.any(TimePoint.class))).thenCallRealMethod(); when(trackedRace.getApproximatePosition(Matchers.any(Waypoint.class), Matchers.any(TimePoint.class))).thenCallRealMethod(); + when(trackedRace.getApproximatePosition(Matchers.any(Waypoint.class), Matchers.any(TimePoint.class), Matchers.any(MarkPositionAtTimePointCache.class))).thenCallRealMethod(); RaceDefinition race = mock(RaceDefinition.class); when(trackedRace.getRace()).thenReturn(race); course = mock(Course.class); From 2e686866ffad7de9a282706d45a7bf1cd46c942b Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 16:37:45 +0200 Subject: [PATCH 86/97] fixed more tests by mocking both variants of getApproximatePosition Change-Id: I51bacd50a7b7863fbd9374b90267d641b1717333 --- .../StarbordSideOfStartLineRecognitionTest.java | 5 ++++- .../domain/test/TargetTimeEstimationTest.java | 17 ++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/StarbordSideOfStartLineRecognitionTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/StarbordSideOfStartLineRecognitionTest.java index 2434b9ce7af..c8a621c5707 100755 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/StarbordSideOfStartLineRecognitionTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/StarbordSideOfStartLineRecognitionTest.java @@ -11,6 +11,7 @@ import java.util.Collections; import org.junit.Before; import org.junit.Test; +import org.mockito.Matchers; import com.sap.sailing.domain.abstractlog.race.analyzing.impl.RaceLogResolver; import com.sap.sailing.domain.base.Competitor; @@ -27,6 +28,7 @@ import com.sap.sailing.domain.common.tracking.impl.GPSFixImpl; import com.sap.sailing.domain.ranking.OneDesignRankingMetric; import com.sap.sailing.domain.tracking.DynamicGPSFixTrack; import com.sap.sailing.domain.tracking.LineDetails; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.impl.DynamicGPSFixTrackImpl; import com.sap.sailing.domain.tracking.impl.DynamicTrackedRaceImpl; import com.sap.sailing.domain.tracking.impl.TrackedLegImpl; @@ -137,7 +139,6 @@ public class StarbordSideOfStartLineRecognitionTest { Position startStarboardPosition = new DegreePosition(0, 1); Position windwardPosition = new DegreePosition(10, 0.5); MockedTrackedRaceImpl trackedRace = createTrackedRaceWithMarkPositions(startPortPosition, startStarboardPosition, windwardPosition); - Position p = trackedRace.getOrCreateTrack(trackedRace.getStartLine(now).getStarboardMarkWhileApproachingLine()). getEstimatedPosition(now, /* extrapolate */ false); assertEquals(startStarboardPosition, p); @@ -184,6 +185,8 @@ public class StarbordSideOfStartLineRecognitionTest { when(trackedRace.getTrackedLeg(course.getFirstLeg())).thenReturn(trackedLeg); when(trackedRace.getApproximatePosition(startWaypoint, now)).thenCallRealMethod(); when(trackedRace.getApproximatePosition(windwardWaypoint, now)).thenCallRealMethod(); + when(trackedRace.getApproximatePosition(Matchers.eq(startWaypoint), Matchers.eq(now), Matchers.any(MarkPositionAtTimePointCache.class))).thenCallRealMethod(); + when(trackedRace.getApproximatePosition(Matchers.eq(windwardWaypoint), Matchers.eq(now), Matchers.any(MarkPositionAtTimePointCache.class))).thenCallRealMethod(); return trackedRace; } diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java index b4a8a8bf09a..94b58e36ce3 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java @@ -11,6 +11,7 @@ import java.util.HashSet; import java.util.Set; import org.junit.Test; +import org.mockito.Matchers; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; @@ -37,6 +38,7 @@ import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl; import com.sap.sailing.domain.common.impl.WindImpl; import com.sap.sailing.domain.polars.NotEnoughDataHasBeenAddedException; import com.sap.sailing.domain.polars.PolarDataService; +import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.TrackedLeg; import com.sap.sailing.domain.tracking.impl.DynamicTrackedRaceImpl; import com.sap.sailing.domain.tracking.impl.TrackedLegImpl; @@ -123,9 +125,10 @@ public class TargetTimeEstimationTest { when(leg.getFrom()).thenReturn(from); when(leg.getTo()).thenReturn(to); - when(trackedRace.getApproximatePosition(from, timepoint)).thenReturn(startOfLeg); - when(trackedRace.getApproximatePosition(to, timepoint)).thenReturn(endOfLeg); - + when(trackedRace.getApproximatePosition(eq(from), eq(timepoint))).thenReturn(startOfLeg); + when(trackedRace.getApproximatePosition(eq(to), eq(timepoint))).thenReturn(endOfLeg); + when(trackedRace.getApproximatePosition(eq(from), eq(timepoint), any(MarkPositionAtTimePointCache.class))).thenReturn(startOfLeg); + when(trackedRace.getApproximatePosition(eq(to), eq(timepoint), any(MarkPositionAtTimePointCache.class))).thenReturn(endOfLeg); SpeedWithBearing speedWithBearingPort = new KnotSpeedWithBearingImpl(6, new DegreeBearingImpl(-45)); SpeedWithBearingWithConfidence boatSpeedWithBearingWithConfidencePort = new SpeedWithBearingWithConfidenceImpl(speedWithBearingPort, 1, null); @@ -141,7 +144,6 @@ public class TargetTimeEstimationTest { //Actual test of functionality Duration duration = trackedLeg.getEstimatedTimeToComplete(mockedPolars, timepoint); assertEquals(213513, duration.asMillis(), 100); - } @Test @@ -175,9 +177,10 @@ public class TargetTimeEstimationTest { when(leg.getFrom()).thenReturn(from); when(leg.getTo()).thenReturn(to); - when(trackedRace.getApproximatePosition(from, timepoint)).thenReturn(startOfLeg); - when(trackedRace.getApproximatePosition(to, timepoint)).thenReturn(endOfLeg); - + when(trackedRace.getApproximatePosition(eq(from), eq(timepoint))).thenReturn(startOfLeg); + when(trackedRace.getApproximatePosition(eq(to), eq(timepoint))).thenReturn(endOfLeg); + when(trackedRace.getApproximatePosition(eq(from), eq(timepoint), any(MarkPositionAtTimePointCache.class))).thenReturn(startOfLeg); + when(trackedRace.getApproximatePosition(eq(to), eq(timepoint), any(MarkPositionAtTimePointCache.class))).thenReturn(endOfLeg); SpeedWithBearing speedWithBearingPort = new KnotSpeedWithBearingImpl(11, new DegreeBearingImpl(150)); SpeedWithBearingWithConfidence boatSpeedWithBearingWithConfidencePort = new SpeedWithBearingWithConfidenceImpl(speedWithBearingPort, 1, null); From ceb480569367b55528b6c6daef67af87c71a10c5 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 16:39:28 +0200 Subject: [PATCH 87/97] consolidated imports to avoid warnings Change-Id: I9aecb7fa9001f8088d1ab380366e192d407ccd53 --- .../com/sap/sailing/domain/test/TargetTimeEstimationTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java index 94b58e36ce3..c65bbad46a7 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java @@ -11,7 +11,6 @@ import java.util.HashSet; import java.util.Set; import org.junit.Test; -import org.mockito.Matchers; import com.sap.sailing.domain.base.BoatClass; import com.sap.sailing.domain.base.Competitor; From db5f3201b94d0ff4e209fb435224552e1c2976e0 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 16:55:49 +0200 Subject: [PATCH 88/97] use MarkPositionCacheAtTimePoint also for target time estimation Change-Id: Ia496ea6eeac44cb8adde7de5d065a5b155c56c0f --- .../src/com/sap/sailing/domain/tracking/TrackedLeg.java | 3 ++- .../com/sap/sailing/domain/tracking/impl/TrackedLegImpl.java | 4 +++- .../com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java index a68449ac7da..da4592948ff 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedLeg.java @@ -164,7 +164,8 @@ public interface TrackedLeg extends Serializable { * is not available * @throws NoWindException no wind available. unable to determine legtypes for given timepoint */ - Duration getEstimatedTimeToComplete(PolarDataService polarDataService, TimePoint timepoint) throws NotEnoughDataHasBeenAddedException, NoWindException; + Duration getEstimatedTimeToComplete(PolarDataService polarDataService, TimePoint timepoint, MarkPositionAtTimePointCache markPositionCache) + throws NotEnoughDataHasBeenAddedException, NoWindException; /** * Computes the windward distance (for upwind/downwind legs) or the along-course distance (for reaching legs) at a reference time point diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegImpl.java index 4993f55b9d7..85ee7d7ca06 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedLegImpl.java @@ -513,8 +513,10 @@ public class TrackedLegImpl implements TrackedLeg { } @Override - public Duration getEstimatedTimeToComplete(PolarDataService polarDataService, TimePoint timepoint) + public Duration getEstimatedTimeToComplete(PolarDataService polarDataService, TimePoint timepoint, MarkPositionAtTimePointCache markPositionCache) throws NotEnoughDataHasBeenAddedException, NoWindException { + assert timepoint.equals(markPositionCache.getTimePoint()); + assert getTrackedRace() == markPositionCache.getTrackedRace(); Position centralPosition = trackedRace.getCenterOfCourse(timepoint); Wind wind = trackedRace.getWind(centralPosition, timepoint, getTrackedRace().getWindSources(WindSourceType.TRACK_BASED_ESTIMATION)); Position from = trackedRace.getApproximatePosition(leg.getFrom(), timepoint); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java index 7fc6c791f28..da48741957d 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/TrackedRaceImpl.java @@ -3896,8 +3896,9 @@ public abstract class TrackedRaceImpl extends TrackedRaceWithWindEssentials impl throw new NotEnoughDataHasBeenAddedException("Target time estimation failed. No polar service available."); } Duration durationOfAllLegs = Duration.NULL; + final MarkPositionAtTimePointCache markPositionCache = new MarkPositionAtTimePointCacheImpl(this, timepoint); for (TrackedLeg leg : trackedLegs.values()) { - Duration durationOfLeg = leg.getEstimatedTimeToComplete(polarDataService, timepoint); + Duration durationOfLeg = leg.getEstimatedTimeToComplete(polarDataService, timepoint, markPositionCache); durationOfAllLegs = durationOfAllLegs.plus(durationOfLeg); } return durationOfAllLegs; From 5163dd65f2144f8511b29926f74f1d07fed7f748 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 16:56:14 +0200 Subject: [PATCH 89/97] fixing bug 3935 by adding a simple null check Change-Id: I2c511d794c4947384f2be9b5072cc601ceb00f90 --- .../analyzing/impl/BaseRegattaLogDeviceMappingFinder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/tracking/analyzing/impl/BaseRegattaLogDeviceMappingFinder.java b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/tracking/analyzing/impl/BaseRegattaLogDeviceMappingFinder.java index 0399e83c387..76774039688 100644 --- a/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/tracking/analyzing/impl/BaseRegattaLogDeviceMappingFinder.java +++ b/java/com.sap.sailing.domain.shared.android/src/com/sap/sailing/domain/abstractlog/regatta/tracking/analyzing/impl/BaseRegattaLogDeviceMappingFinder.java @@ -65,7 +65,7 @@ public abstract class BaseRegattaLogDeviceMappingFinder if (!endOfFirstHalf.before(from)) { log.add(createDeviceMappingEvent(item, event.getAuthor(), from, endOfFirstHalf, event.getDevice())); } - if (!to.before(startOfSecondHalf)) { + if (to == null || !to.before(startOfSecondHalf)) { log.add(createDeviceMappingEvent(item, event.getAuthor(), startOfSecondHalf, to, event.getDevice())); } From 4c0dbe3778bc8b64bd971229f6ac7fc17d7159f7 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Thu, 29 Sep 2016 17:01:16 +0200 Subject: [PATCH 90/97] fixed tests' use of trackedLeg.getEstimatedTimeToComplete Change-Id: Ic8b6444b4f934c5a1c741a90cecc3b0ac788e34a --- .../sap/sailing/domain/test/TargetTimeEstimationTest.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java index c65bbad46a7..d1b4b9ca77f 100644 --- a/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java +++ b/java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/TargetTimeEstimationTest.java @@ -40,6 +40,7 @@ import com.sap.sailing.domain.polars.PolarDataService; import com.sap.sailing.domain.tracking.MarkPositionAtTimePointCache; import com.sap.sailing.domain.tracking.TrackedLeg; import com.sap.sailing.domain.tracking.impl.DynamicTrackedRaceImpl; +import com.sap.sailing.domain.tracking.impl.MarkPositionAtTimePointCacheImpl; import com.sap.sailing.domain.tracking.impl.TrackedLegImpl; import com.sap.sse.common.Duration; import com.sap.sse.common.TimePoint; @@ -88,9 +89,8 @@ public class TargetTimeEstimationTest { TrackedLeg trackedLeg = new TrackedLegImpl(trackedRace, leg, competitors); //Actual test of functionality - Duration duration = trackedLeg.getEstimatedTimeToComplete(mockedPolars, timepoint); + Duration duration = trackedLeg.getEstimatedTimeToComplete(mockedPolars, timepoint, new MarkPositionAtTimePointCacheImpl(trackedRace, timepoint)); assertEquals(75494, duration.asMillis(), 100); - } @Test @@ -141,7 +141,7 @@ public class TargetTimeEstimationTest { TrackedLeg trackedLeg = new TrackedLegImpl(trackedRace, leg, competitors); //Actual test of functionality - Duration duration = trackedLeg.getEstimatedTimeToComplete(mockedPolars, timepoint); + Duration duration = trackedLeg.getEstimatedTimeToComplete(mockedPolars, timepoint, new MarkPositionAtTimePointCacheImpl(trackedRace, timepoint)); assertEquals(213513, duration.asMillis(), 100); } @@ -193,7 +193,7 @@ public class TargetTimeEstimationTest { TrackedLeg trackedLeg = new TrackedLegImpl(trackedRace, leg, competitors); //Actual test of functionality - Duration duration = trackedLeg.getEstimatedTimeToComplete(mockedPolars, timepoint); + Duration duration = trackedLeg.getEstimatedTimeToComplete(mockedPolars, timepoint, new MarkPositionAtTimePointCacheImpl(trackedRace, timepoint)); assertEquals(95090, duration.asMillis(), 100); } From da6b639c0cbfc1a99a1280f36ccfea18b3536035 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 30 Sep 2016 11:28:10 +0200 Subject: [PATCH 91/97] added thread toString() output to the tracing message for a long-waiting Future.get() call Change-Id: I1ec555dc79cd2d2f7fc29b9e365c742bc8b0ee5d --- .../src/com/sap/sse/util/impl/HasTracingGetImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java index f0d0b1aedd7..f87ba32bce9 100644 --- a/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java +++ b/java/com.sap.sse/src/com/sap/sse/util/impl/HasTracingGetImpl.java @@ -27,7 +27,7 @@ public abstract class HasTracingGetImpl implements HasTracingGet { try { return future.get(MILLIS_AFTER_WHICH_TO_TRACE_NON_RETURNING_GET, TimeUnit.MILLISECONDS); } catch (TimeoutException e) { - logger.log(Level.INFO, "Timeout waiting for future task "+future+ + logger.log(Level.INFO, ""+Thread.currentThread()+": Timeout waiting for future task "+future+ " (retrying); "+ getAdditionalTraceInfo(), e); } } From 8b0ccdee53140bb5b11a9da30c22ae8a15487a0d Mon Sep 17 00:00:00 2001 From: Adrian Riedel Date: Fri, 30 Sep 2016 16:10:56 +0200 Subject: [PATCH 92/97] removed automatic energy saving mode --- .../res/values-de/preferences.xml | 3 +- .../res/values/preferences.xml | 5 +- .../app/services/TrackingService.java | 48 ------------------- .../app/ui/fragments/TrackingFragment.java | 11 +---- .../preference/GeneralPreferenceFragment.java | 9 +--- .../tracking/app/utils/AppPreferences.java | 18 ------- 6 files changed, 5 insertions(+), 89 deletions(-) diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml b/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml index 190c72327e7..55c9fbd8018 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/values-de/preferences.xml @@ -4,8 +4,7 @@ Sendeintervall für GPS-Updates auswählen Wählen Sie den größtmöglichen Wert, der dennoch eine dem Anwendungsfall entsprechend hohe Aktualisierungsrate ermöglicht. - Der Energiesparmodus wurde automatisch aktiviert, GPS Updates werden alle 20 Sekunden an den Server gesendet. Diese Einstellung wird überschrieben, wenn Sie oben ein anderes Intervall auswählen. - + GPS Updates werden%1$s %2$s an den Server gesendet. alle diff --git a/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml b/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml index 20f2003a35d..5ef2e862a8f 100644 --- a/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml +++ b/mobile/com.sap.sailing.android.tracking.app/res/values/preferences.xml @@ -6,8 +6,6 @@ tracking - preferenceEnergySavingEnabled - preferenceEnergySavingOverride preferenceHeadingWithDeclinationSubtracted Battery Saving @@ -16,8 +14,7 @@ 0 choose GPS update sending interval Choose a value as high as possible to preserve battery life while still maintaining a reasonable live experience, depending on your use case. - Energy saving mode has been enabled automatically, GPS updates are being sent to the server every 20 seconds. You can change that by selecting an interval above. - + GPS updates will be sent to the server%1$s %2$s. msgSndIntMessage every diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java index bd475c737c3..83c73833660 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/services/TrackingService.java @@ -37,11 +37,9 @@ import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; import android.content.Intent; -import android.content.IntentFilter; import android.graphics.BitmapFactory; import android.hardware.GeomagneticField; import android.location.Location; -import android.os.BatteryManager; import android.os.Binder; import android.os.Build; import android.os.Bundle; @@ -68,8 +66,6 @@ public class TrackingService extends Service implements GoogleApiClient.Connecti private int NOTIFICATION_ID = R.string.tracker_started; public final static int UPDATE_INTERVAL_IN_MILLIS_DEFAULT = 1000; - private final static int UPDATE_INTERVAL_IN_MILLIS_POWERSAVE_MODE = 20000; - private final static float BATTERY_POWER_SAVE_THRESHOLD = 0.2f; private boolean initialLocation; private String checkinDigest; @@ -163,7 +159,6 @@ public class TrackingService extends Service implements GoogleApiClient.Connecti prefs.setTrackerIsTracking(true); prefs.setTrackerIsTrackingCheckinDigest(checkinDigest); - prefs.setEnergySavingOverride(false); } private void stopTracking() { @@ -236,7 +231,6 @@ public class TrackingService extends Service implements GoogleApiClient.Connecti if (initialLocation) { storeInitialTrackingTimestamp(); } - updateResendIntervalSetting(); reportGPSQualityBearingAndSpeed(location.getAccuracy(), location.getBearing(), location.getSpeed(), location.getLatitude(), location.getLongitude(), location.getAltitude()); final String postUrlStr = event.server + prefs.getServerGpsFixesPostPath(); @@ -348,48 +342,6 @@ public class TrackingService extends Service implements GoogleApiClient.Connecti initialLocation = false; } - /** - * Update the interval in which message sending service should retry - possibly enable power saving - */ - private void updateResendIntervalSetting() { - float batteryPct = getBatteryPercentage(); - boolean batteryIsCharging = prefs.getBatteryIsCharging(); - int updateInterval = prefs.getMessageSendingIntervalInMillis(); - if (batteryPct < BATTERY_POWER_SAVE_THRESHOLD && !batteryIsCharging && !prefs.getEnergySavingOverride()) { - if (BuildConfig.DEBUG) { - ExLog.i(this, "POWER-LEVELS", "in power saving mode"); - } - updateInterval = UPDATE_INTERVAL_IN_MILLIS_POWERSAVE_MODE; - prefs.setEnergySavingEnabledAutomatically(true); - } else { - if (BuildConfig.DEBUG) { - ExLog.i(this, "POWER-LEVELS", "in default power mode"); - } - } - prefs.setMessageResendIntervalInMillis(updateInterval); - } - - /** - * Get battery charging level - * - * @return battery charging level in interval [0,1] - */ - private float getBatteryPercentage() { - IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); - Intent batteryStatus = this.registerReceiver(null, ifilter); - - int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); - int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1); - - float batteryPct = level / (float) scale; - - if (BuildConfig.DEBUG) { - ExLog.i(this, TAG, "Battery: " + (batteryPct * 100) + "%"); - } - - return batteryPct; - } - @Override public IBinder onBind(Intent intent) { return trackingBinder; diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java index dffb2009434..6a3c3bacaeb 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java @@ -30,7 +30,6 @@ public class TrackingFragment extends BaseFragment { static final String SIS_GPS_ACCURACY = "instanceStateGpsAccuracy"; static final String SIS_GPS_UNSENT_FIXES = "instanceStateGpsUnsentFixes"; - private AppPreferences prefs; private long lastGPSQualityUpdate; private String TAG = TrackingFragment.class.getName(); @@ -134,14 +133,8 @@ public class TrackingFragment extends BaseFragment { public void run() { TextView textView = (TextView) getActivity().findViewById(R.id.mode); if (apiConnectivity == APIConnectivity.transmissionSuccess) { - if (prefs.getEnergySavingEnabledAutomatically() && !prefs.getEnergySavingOverride()) { - textView.setText(getString(R.string.tracking_mode_battery_saving)); - textView.setTextColor(getResources().getColor(R.color.sap_red)); - } else { - textView.setText(getString(R.string.tracking_mode_live)); - textView.setTextColor(getResources().getColor(R.color.fiori_text_color)); - } - + textView.setText(getString(R.string.tracking_mode_live)); + textView.setTextColor(getResources().getColor(R.color.fiori_text_color)); } else if (apiConnectivity == APIConnectivity.noAttempt) { textView.setText(getString(R.string.tracking_mode_offline)); textView.setTextColor(getResources().getColor(R.color.fiori_text_color)); diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java index ede9973e121..6a0143a4bbd 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/preference/GeneralPreferenceFragment.java @@ -68,8 +68,6 @@ public class GeneralPreferenceFragment extends BasePreferenceFragment implements prefs.setMessageResendIntervalInMillis(msgSndInt * 1000); break; } - if(prefs.getEnergySavingEnabledAutomatically()) - prefs.setEnergySavingOverride(true); updateEnergySavingMessage(newValue.toString()); } return true; @@ -93,15 +91,10 @@ public class GeneralPreferenceFragment extends BasePreferenceFragment implements String fillEvery = (entry.equals(msgSndIntPreference.getEntries()[0])) ? "" : " " + getString(R.string.preference_energy_saving_sending_interval_message_every); //set Text - AppPreferences prefs = new AppPreferences(getActivity()); - if(prefs.getEnergySavingEnabledAutomatically() && !prefs.getEnergySavingOverride()){ - msgSndIntMessage.setSummary(getString(R.string.preference_energy_saving_enabled_automatically)); - } else { - msgSndIntMessage.setSummary(String.format( + msgSndIntMessage.setSummary(String.format( getString(R.string.preference_energy_saving_sending_interval_message), fillEvery, entry) ); - } } } diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java index 51f76777b36..d0a1eb74996 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/utils/AppPreferences.java @@ -112,24 +112,6 @@ public class AppPreferences extends BaseAppPreferences { preferences.edit().putString(context.getString(R.string.preference_competitor_key), id).commit(); } - public void setEnergySavingEnabledAutomatically(boolean newValue) { - preferences.edit().putBoolean(context.getString(R.string.preference_energy_saving_enabled_key), newValue) - .commit(); - } - - public boolean getEnergySavingEnabledAutomatically() { - return preferences.getBoolean(context.getString(R.string.preference_energy_saving_enabled_key), false); - } - - public void setEnergySavingOverride(boolean newValue) { - preferences.edit().putBoolean(context.getString(R.string.preference_energy_saving_override_key), newValue) - .commit(); - } - - public boolean getEnergySavingOverride() { - return preferences.getBoolean(context.getString(R.string.preference_energy_saving_override_key), false); - } - public void setDisplayHeadingWithSubtractedDeclination(boolean newValue) { preferences.edit() .putBoolean(context.getString(R.string.preference_heading_with_declination_subtracted_key), newValue) From 79a5ea4c388ef8ac2c9434d81aff246520d4f636 Mon Sep 17 00:00:00 2001 From: Stsiapan_Tsybulski Date: Fri, 30 Sep 2016 16:27:14 +0300 Subject: [PATCH 93/97] When zooming a lot chart and time slider marks don't match fixed. --- .../gwt/ui/client/shared/charts/AbstractRaceChart.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java index 938b262eca0..e0ec8b6ae75 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java @@ -160,7 +160,12 @@ public abstract class AbstractRaceChart extends A if (!isZoomed) { isZoomed = true; } - timeRangeWithZoomProvider.setTimeZoom(new Date(xAxisMin), new Date(xAxisMax), this); + //Set a minute as max time zoom + if (xAxisMax - xAxisMin > 60 * 1000) { + timeRangeWithZoomProvider.setTimeZoom(new Date(xAxisMin), new Date(xAxisMax), this); + } else { + return false; + } } catch (Exception e) { Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override From 030dc89db0e955abb320e762078780862cce1afa Mon Sep 17 00:00:00 2001 From: Stsiapan_Tsybulski Date: Tue, 4 Oct 2016 10:59:20 +0300 Subject: [PATCH 94/97] Comment was changed --- .../sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java index e0ec8b6ae75..bcecadcea45 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java @@ -160,7 +160,7 @@ public abstract class AbstractRaceChart extends A if (!isZoomed) { isZoomed = true; } - //Set a minute as max time zoom + //Set a minute as max time zoom just as for chart if (xAxisMax - xAxisMin > 60 * 1000) { timeRangeWithZoomProvider.setTimeZoom(new Date(xAxisMin), new Date(xAxisMax), this); } else { From 8318128f0c4e5e362b8b41b1623c42d19a82572f Mon Sep 17 00:00:00 2001 From: Stsiapan_Tsybulski Date: Tue, 4 Oct 2016 11:31:54 +0300 Subject: [PATCH 95/97] Constant was created --- .../gwt/ui/client/shared/charts/AbstractRaceChart.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java index bcecadcea45..0f72b6ae08e 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/charts/AbstractRaceChart.java @@ -68,6 +68,8 @@ public abstract class AbstractRaceChart extends A /** the tick count must be the same as TimeSlider.TICKCOUNT, otherwise the time ticks will be not synchronized */ private final int TICKCOUNT = 10; + + public static final long MINUTE_IN_MILLIS = 60 * 1000; private boolean ignoreNextClickEvent; @@ -161,7 +163,7 @@ public abstract class AbstractRaceChart extends A isZoomed = true; } //Set a minute as max time zoom just as for chart - if (xAxisMax - xAxisMin > 60 * 1000) { + if (xAxisMax - xAxisMin > MINUTE_IN_MILLIS) { timeRangeWithZoomProvider.setTimeZoom(new Date(xAxisMin), new Date(xAxisMax), this); } else { return false; From bbe292ebdbac9f6bc0216a1857fc9ffe070231ab Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 4 Oct 2016 16:45:28 +0200 Subject: [PATCH 96/97] added missing null check for gpsToast in TrackingFragment Change-Id: I95beb4a8b28f73ab8c84bdaee150be01abe3abc6 --- .../android/tracking/app/ui/fragments/TrackingFragment.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java index 05e1297b4f7..7605f797ab9 100644 --- a/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java +++ b/mobile/com.sap.sailing.android.tracking.app/src/com/sap/sailing/android/tracking/app/ui/fragments/TrackingFragment.java @@ -115,7 +115,6 @@ public class TrackingFragment extends BaseFragment { public void updateTrackingStatus(GPSQuality quality) { if (isAdded()) { TextView textView = (TextView) getActivity().findViewById(R.id.tracking_status); - if (quality == GPSQuality.noSignal) { textView.setText(getString(R.string.tracking_status_no_gps_signal)); textView.setTextColor(getResources().getColor(R.color.sap_red)); @@ -128,7 +127,9 @@ public class TrackingFragment extends BaseFragment { } else { textView.setText(getString(R.string.tracking_status_tracking)); textView.setTextColor(getResources().getColor(R.color.fiori_text_color)); - gpsToast.cancel(); + if (gpsToast == null) { + gpsToast.cancel(); + } //GPS was lost before but is available again now --> show gpsFound toast if (!gpsFound) { gpsToast = Toast.makeText(getActivity(),getString(R.string.tracking_status_gps_found), Toast.LENGTH_SHORT); From 4a8884312e926a2e8e5e8539c53991190ee1892c Mon Sep 17 00:00:00 2001 From: Adrian Riedel Date: Thu, 6 Oct 2016 14:07:54 +0200 Subject: [PATCH 97/97] updated release notes for InSight app and Buoy Pinger for changes that have already been merged to master --- .../sailing/gwt/home/solutions/BuoyPingerAppNotes.html | 7 +++++++ .../sailing/gwt/home/solutions/InSightAppNotes.html | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/BuoyPingerAppNotes.html b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/BuoyPingerAppNotes.html index 5b611d43983..4a5a8b349a3 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/BuoyPingerAppNotes.html +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/BuoyPingerAppNotes.html @@ -4,6 +4,13 @@

    What's New - SAP Sailing Buoy Pinger

    +
    October 2016
    +
      +
    • Improved pinging accuracy by using a more controllable API: + The app will now only use true GPS signals instead of accepting + positions acquired through network triangulation.
    • +
    +
    June 2016
    • First PlayStore release
    • diff --git a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/InSightAppNotes.html b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/InSightAppNotes.html index fac557514d7..085a30a1fac 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/InSightAppNotes.html +++ b/java/com.sap.sailing.gwt.ui/src/main/resources/com/sap/sailing/gwt/home/solutions/InSightAppNotes.html @@ -4,6 +4,16 @@

      What's New - SAP Sail InSight

      +
      October 2016
      +
        +
      • Improved tracking reliability and accuracy, + especially when the app is in background by using a more reliable and controllable API: + The app will now only use true GPS signals instead of accepting + positions acquired through network triangulation.
      • +
      • There now is a more detailed energy saving option, + and the automatic setting overriding user preferences has been removed.
      • +
      +
      August 2016
      • The GPS fix sending was optimize to send all data in a bulk. Instead of sending