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 old mode 100755 new mode 100644 index 5c5ad2cac27..c6d4d34b5d0 --- 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 @@ -6,7 +6,7 @@ tracTracEvents=События Трак Трак swissTimingEvents=События Swiss Timing trackedBefore=Ранее Отслеженные listRaces=Перечень Гонок -wind=Ветер +wind=ветра windPanelLabel=Это окно информации о ветре, которое до сих пор абсолютно пустое. refresh=Обновить remove=Удалить @@ -17,7 +17,7 @@ race=Гонка races=Гонки tracked=Отслежена time=Время -timeTooltip=Учет времени соперника, выступавшего на этом этапе. На первом этапе учет времени ведется с начала гонки, а не при пересечении соперником линии старта. +timeTooltip=Учет времени участника, выступавшего на этом этапе. На первом этапе учет времени ведется с начала гонки, а не при пересечении участником линии старта. playSpeed=Скорость воспроизведения playSpeedHelp=Используйте "1" для обычной скорости воспроизведения, "2" для удвоенной скорости воспроизведения и т. д. playModeLive=В прямом эфире @@ -29,8 +29,8 @@ fromDeg=Начиная с (градус) noRacesYet=Гонок пока нет. total=\u03A3 carry=Суммарная -competitor=Соперник -competitors=Соперники +competitor=Участник +competitors=Участники defaultLeaderboard=Таблица лидеров по умолчанию noSuchLeaderboard=Такая таблица лидеров отсутствует leaderboardConfiguration=Форма таблицы лидеров @@ -162,8 +162,8 @@ configuration=Конфигурация maneuverTypes=Маневры chooseChart=Выбрать график distanceTraveled=Пройденное расстояние -distanceTraveledTooltip=Расстояние, пройденное от старта до финиша этапа\а не до текущего момента времени, если этап не завершен. -raceDistanceTraveledTooltip=Расстояние, пройденное от старта до финиша гонки\а не до текущего момента времени, если гонка не завершена. +distanceTraveledTooltip=Расстояние, пройденное от старта до финиша этапа\ а не до текущего момента времени, если этап не завершен. +raceDistanceTraveledTooltip=Расстояние, пройденное от старта до финиша гонки\ а не до текущего момента времени, если гонка не завершена. velocityMadeGoodLong=Скорость лавирования speedOverGroundLong=Скорость относительно земли gapToLeaderLong=Отставание от лидера @@ -217,7 +217,7 @@ hoverOverAPoint=Наведите курсор на точку для просм noSelection=Ничего не выбрано raceIsKnownToStartUpwind=Гонка начинается с этапа с наветренной стороны events=События -settingsForComponent=Параметры для {0} +settingsForComponent=Параметры {0} noEventsFound=События не обнаружены noEventSelected=События не выбраны noLeaderboardsFound=Талицы лидеров не обнаружены @@ -262,18 +262,18 @@ noLeaderboardGroupWithNameFound=Группа таблицы лидеров с и overview=Обзор welcomeToSailingAnalytics=Добро пожаловать в Аналитическую информацию парусного спорта SAP welcomeToSailingAnalyticsBody=SAP приближает любителей парусного спорта к происходящим на воде событиям как никогда раньше.\ -\ Таблица лидеров в прямом эфире расширяет возможности для любителей, отображая в режиме реального времени место, занимаемое участником, скорости судов, а также победителей с указанием отрыва. Следите за каждой гонкой и благодаря SAP не пропускайте ни одного совершенного маневра.\ +\ Таблица лидеров в прямом эфире расширяет возможности для любителей, отображая в режиме реального времени место занимаемое участником, скорости судов, а также победителей с указанием отрыва. Следите за каждой гонкой и благодаря SAP не пропускайте ни одного совершенного маневра.\ \ Это самый простой способ наблюдать за парусной гонкой в прямом эфире, где бы вы ни находились. home=Главная clickAndDragToZoomIn=Щелкните и перетащите область графика для увеличения windSpeed=Скорость ветра (узлы) allTimesInUTC=Время указано в универсальном глобальном времени по Гринвичу (UTC) -autoZoomTo=Автоматическое масштабирование до -autoZoomToBoats=Суда -autoZoomToBuoys=Буи -autoZoomToWindSensors=Датчики ветра +autoZoomTo=Автоматически увеличить до +autoZoomToBoats=Суден +autoZoomToBuoys=Буев +autoZoomToWindSensors=Датчиков ветра autoZoomOff=Выкл -autoZoomToTails=Хвосты +autoZoomToTails=Хвостов autoZoomSelectedCompetitors=Масштабировать только выбранных участников bearing=Направление (ветра) zoom=Масштабирование @@ -461,7 +461,7 @@ showRaceDetails=Разрешить подробности для гонки numberOfRaces=Количество гонок numberOfRacesMustBeNonNegativeNumber=Пожалуйста, введите количество последних гонок, которые должны отображаться chooseTheWayYouSelectRaces=Выберите способ выбора гонок -selectFromAllRaces=Выбрать из всех гонок +selectFromAllRaces=Выбрать все гонки selectANumberOfRaces=Выбрать несколько гонок numberOfLastNRaces=Количество самых последних гонок для отображения expandLastRace=Всегда раскрывать последнюю отображенную гонку @@ -477,7 +477,7 @@ averageJibeLossInMetersTooltip=Усредненная потеря рассто shape=Форма pattern=Модель legend=Легенда -live=прямой эфир +live=Прямой эфир swissTimingArchiveConnector=события SwissTiming, помещенные в архив errorFetchingChartData=Ошибка получения данных графика: {0} loadingCompetitorData=Загрузка данных участника... @@ -703,7 +703,7 @@ explainConnectionsToMaster=Подключения к главному серве explainNoConnectionsToMaster=Не настроенных подключений к главному серверу.Для настройки одного соединения щелкните «Подключиться к главному серверу» . explainNoConnectionsFromReplicas=Подключений к серверу копий не обнаружено. Копии можно подключить используя их Консоль администрирования. stopConnectionToMaster=Остановить копирование -asLink=Как ссылка +asLink=Показать в ссылке noStarttimeAnnouncedYet=Ожидание raceIsRunning=Проходящая raceIsFinishing=Завершающаяся @@ -968,5 +968,3 @@ competitorPool=Competitor Pool selectAtLeastOne=Select at least one selectRaces=Select the Races importFixes=Import Fixes -noSailingServerInstancesYet=No Sailing Server instances yet. -registeredSailingServerInstances=Registered Sailing Server Instances \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java index 9c5ceebddc9..6a4e2acc465 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboard/LeaderboardPanel.java @@ -679,7 +679,7 @@ public class LeaderboardPanel extends SimplePanel implements TimeListener, PlayS LeaderboardEntryDTO entryBefore = object.fieldsByRaceColumnName.get(raceColumn.getName()); if (entryBefore.totalPoints != null) { addedScores += entryBefore.totalPoints; - } + } if (raceColumn.getName().equals(getRaceColumnName())) { break; // we've reached the current column - stop here } @@ -707,9 +707,9 @@ public class LeaderboardPanel extends SimplePanel implements TimeListener, PlayS boolean isLive = isLive(entry.fleet); String textColor = isLive ? IS_LIVE_TEXT_COLOR : DEFAULT_TEXT_COLOR; - String totalOrAddedPointsAsText = isShowAddedScores() ? scoreFormat.format(computeAddedScores(object)) + String totalOrAddedPointsAsText = isShowAddedScores() ? (entry.totalPoints != null ? scoreFormat.format(computeAddedScores(object)) : "") : entry.totalPoints == null ? "" : scoreFormat.format(entry.totalPoints); - String netOrAddedPointsAsText = isShowAddedScores() ? scoreFormat.format(computeAddedScores(object)) + String netOrAddedPointsAsText = isShowAddedScores() ? (entry.netPoints != null ? scoreFormat.format(computeAddedScores(object)) : "") : entry.netPoints == null ? "" : scoreFormat.format(entry.netPoints); if (entry.fleet != null && entry.fleet.getColor() != null) { @@ -753,7 +753,7 @@ public class LeaderboardPanel extends SimplePanel implements TimeListener, PlayS if (isShowAddedScores()) { double o1AddedScore = computeAddedScores(o1); double o2AddedScore = computeAddedScores(o2); - double result = o1AddedScore == 0. ? o2AddedScore == 0. ? 0. : isAscending() ? 1. : -1. : o2AddedScore == 0. ? isAscending() ? -1. : 1. : o1AddedScore - o2AddedScore; + double result = o1AddedScore == 0. ? o2AddedScore == 0. ? 0. : isAscending() ? 1. : -1. : o2AddedScore == 0. ? isAscending() ? 1. : -1. : o2AddedScore - o1AddedScore; return result > 0 ? 1 : result < 0 ? -1 : 0; } else { List competitorsFromBestToWorst = getLeaderboard().getCompetitorsFromBestToWorst( diff --git a/java/com.sap.sailing.server.gateway/WEB-INF/web.xml b/java/com.sap.sailing.server.gateway/WEB-INF/web.xml index 5989f0814ed..6e6da9d8096 100644 --- a/java/com.sap.sailing.server.gateway/WEB-INF/web.xml +++ b/java/com.sap.sailing.server.gateway/WEB-INF/web.xml @@ -233,11 +233,15 @@ Jersey REST API com.sap.sailing.server.gateway.jaxrs.RestServletContainer - - javax.ws.rs.Application - com.sap.sailing.server.gateway.jaxrs.api.RestApiApplication - - 1 + + javax.ws.rs.Application + com.sap.sailing.server.gateway.jaxrs.api.RestApiApplication + + + com.sun.jersey.spi.container.ContainerResponseFilters + com.sap.sailing.server.gateway.jaxrs.AccessControlResponseFilter + + 1 Jersey REST API @@ -246,11 +250,15 @@ Jersey REST SPI com.sap.sailing.server.gateway.jaxrs.RestServletContainer - - javax.ws.rs.Application - com.sap.sailing.server.gateway.jaxrs.spi.RestSpiApplication - - 1 + + javax.ws.rs.Application + com.sap.sailing.server.gateway.jaxrs.spi.RestSpiApplication + + + com.sun.jersey.spi.container.ContainerResponseFilters + com.sap.sailing.server.gateway.jaxrs.AccessControlResponseFilter + + 1 Jersey REST SPI diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/AccessControlResponseFilter.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/AccessControlResponseFilter.java index 76cfbf56128..fb3f2cee49c 100644 --- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/AccessControlResponseFilter.java +++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/jaxrs/AccessControlResponseFilter.java @@ -1,13 +1,11 @@ package com.sap.sailing.server.gateway.jaxrs; import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.Provider; import com.sun.jersey.spi.container.ContainerRequest; import com.sun.jersey.spi.container.ContainerResponse; import com.sun.jersey.spi.container.ContainerResponseFilter; -@Provider public class AccessControlResponseFilter implements ContainerResponseFilter { @Override diff --git a/java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, Monitoring).launch b/java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, Cached MTB).launch similarity index 80% rename from java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, Monitoring).launch rename to java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, Cached MTB).launch index 3f21e6d9ac3..c38c18314dc 100755 --- a/java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, Monitoring).launch +++ b/java/com.sap.sailing.server/SailingServer (No Proxy, Jetty on 8889, Cached MTB).launch @@ -18,7 +18,7 @@ - + @@ -26,6 +26,6 @@ - +