Merge remote-tracking branch 'origin/master' into ribdashboard

This commit is contained in:
Alexander Ries committed 2015-12-10 22:22:13 +01:00
commit dbf948dafe
15 files changed
+76 -43

No files matched your search

@@ -4,8 +4,10 @@ encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages_de.p
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages_ru.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages_zh.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/server/HomeServiceUtil.java=utf-8
encoding//src/main/java/com/sap/sailing/gwt/ui/adminconsole/IgtimiAccountsPanel.java=utf-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_zh.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/datamining/presentation/AbstractResultsPresenter.java=utf-8
encoding//src/main/java/com/sap/sailing/gwt/ui/leaderboard/CompetitorFilterPanel.java=utf-8
@@ -43,7 +43,7 @@ public class GetRegattasAndLiveRacesForEventAction implements SailingAction<Resu
EventState eventState = HomeServiceUtil.calculateEventState(event);
final Duration ttl;
if(eventState == EventState.RUNNING) {
if(eventState == EventState.RUNNING || eventState == EventState.UPCOMING) {
EventActionUtil.forRacesOfEvent(context, eventId, new RaceCallback() {
@Override
public void doForRace(RaceContext context) {
@@ -21,6 +21,7 @@ import com.sap.sailing.domain.common.RankingMetrics;
import com.sap.sailing.domain.common.ScoringSchemeType;
import com.sap.sailing.gwt.ui.client.DataEntryDialogWithBootstrap;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
import com.sap.sailing.gwt.ui.leaderboard.RankingMetricTypeFormatter;
import com.sap.sailing.gwt.ui.leaderboard.ScoringSchemeTypeFormatter;
import com.sap.sailing.gwt.ui.shared.BetterDateTimeBox;
@@ -134,20 +135,23 @@ public abstract class AbstractRegattaWithSeriesAndFleetsDialog<T> extends DataEn
if (additionalWidget != null) {
panel.add(additionalWidget);
}
Grid formGrid = new Grid(6, 2);
Grid formGrid = new Grid(7, 2);
panel.add(formGrid);
formGrid.setWidget(0, 0, new Label(stringMessages.startDate() + ":"));
formGrid.setWidget(0, 1, startDateBox);
formGrid.setWidget(1, 0, new Label(stringMessages.endDate() + ":"));
formGrid.setWidget(1, 1, endDateBox);
formGrid.setWidget(2, 0, new Label(stringMessages.scoringSystem() + ":"));
formGrid.setWidget(2, 1, scoringSchemeListBox);
formGrid.setWidget(3, 0, new Label(stringMessages.event() + ":"));
formGrid.setWidget(3, 1, sailingEventsListBox);
formGrid.setWidget(4, 0, new Label(stringMessages.courseArea() + ":"));
formGrid.setWidget(4, 1, courseAreaListBox);
formGrid.setWidget(5, 0, new Label(stringMessages.useStartTimeInference() + ":"));
formGrid.setWidget(5, 1, useStartTimeInferenceCheckBox);
formGrid.setWidget(0, 0, new Label(stringMessages.timeZone() + ":"));
formGrid.setWidget(0, 1, new Label(DateAndTimeFormatterUtil.getClientTimeZoneAsGMTString()));
formGrid.setWidget(1, 0, new Label(stringMessages.startDate() + ":"));
formGrid.setWidget(1, 1, startDateBox);
formGrid.setWidget(2, 0, new Label(stringMessages.endDate() + ":"));
formGrid.setWidget(2, 1, endDateBox);
formGrid.setWidget(3, 0, new Label(stringMessages.scoringSystem() + ":"));
formGrid.setWidget(3, 1, scoringSchemeListBox);
formGrid.setWidget(4, 0, new Label(stringMessages.event() + ":"));
formGrid.setWidget(4, 1, sailingEventsListBox);
formGrid.setWidget(5, 0, new Label(stringMessages.courseArea() + ":"));
formGrid.setWidget(5, 1, courseAreaListBox);
formGrid.setWidget(6, 0, new Label(stringMessages.useStartTimeInference() + ":"));
formGrid.setWidget(6, 1, useStartTimeInferenceCheckBox);
setupAdditionalWidgetsOnPanel(panel, formGrid);
return panel;
}
@@ -24,6 +24,7 @@ import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.ui.client.DataEntryDialogWithBootstrap;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
import com.sap.sailing.gwt.ui.shared.BetterDateTimeBox;
import com.sap.sailing.gwt.ui.shared.CourseAreaDTO;
import com.sap.sailing.gwt.ui.shared.EventDTO;
@@ -195,24 +196,25 @@ public abstract class EventDialog extends DataEntryDialogWithBootstrap<EventDTO>
if (additionalWidget != null) {
panel.add(additionalWidget);
}
Grid formGrid = new Grid(8, 2);
Grid formGrid = new Grid(9, 2);
formGrid.setWidget(0, 0, new Label(stringMessages.name() + ":"));
formGrid.setWidget(0, 1, nameEntryField);
formGrid.setWidget(1, 0, new Label(stringMessages.description() + ":"));
formGrid.setWidget(1, 1, descriptionEntryField);
formGrid.setWidget(2, 0, new Label(stringMessages.venue() + ":"));
formGrid.setWidget(2, 1, venueEntryField);
formGrid.setWidget(3, 0, new Label(stringMessages.startDate() + ":"));
formGrid.setWidget(3, 1, startDateBox);
formGrid.setWidget(4, 0, new Label(stringMessages.endDate() + ":"));
formGrid.setWidget(4, 1, endDateBox);
formGrid.setWidget(5, 0, new Label(stringMessages.isPublic() + ":"));
formGrid.setWidget(5, 1, isPublicCheckBox);
formGrid.setWidget(6, 0, new Label(stringMessages.eventOfficialWebsiteURL() + ":"));
formGrid.setWidget(6, 1, officialWebsiteURLEntryField);
formGrid.setWidget(7, 0, new Label(stringMessages.eventSailorsInfoWebsiteURL() + ":"));
formGrid.setWidget(7, 1, sailorsInfoWebsiteURLEntryField);
formGrid.setWidget(3, 0, new Label(stringMessages.timeZone() + ":"));
formGrid.setWidget(3, 1, new Label(DateAndTimeFormatterUtil.getClientTimeZoneAsGMTString()));
formGrid.setWidget(4, 0, new Label(stringMessages.startDate() + ":"));
formGrid.setWidget(4, 1, startDateBox);
formGrid.setWidget(5, 0, new Label(stringMessages.endDate() + ":"));
formGrid.setWidget(5, 1, endDateBox);
formGrid.setWidget(6, 0, new Label(stringMessages.isPublic() + ":"));
formGrid.setWidget(6, 1, isPublicCheckBox);
formGrid.setWidget(7, 0, new Label(stringMessages.eventOfficialWebsiteURL() + ":"));
formGrid.setWidget(7, 1, officialWebsiteURLEntryField);
formGrid.setWidget(8, 0, new Label(stringMessages.eventSailorsInfoWebsiteURL() + ":"));
formGrid.setWidget(8, 1, sailorsInfoWebsiteURLEntryField);
TabLayoutPanel tabPanel = new TabLayoutPanel(30, Unit.PX);
tabPanel.setHeight("500px");
@@ -273,7 +273,8 @@ public class ReplicationPanel extends FlowPanel {
errorReporter.reportPersistentInformation(stringMessages.warningServerIsReplica());
registeredMasters.insertRow(i);
registeredMasters.setWidget(i, 0, new Label(stringMessages.replicatingFromMaster(replicatingFromMaster.getHostname(),
replicatingFromMaster.getMessagingPort(), replicatingFromMaster.getServletPort())));
replicatingFromMaster.getMessagingPort(), replicatingFromMaster.getServletPort(),
replicatingFromMaster.getMessagingHostname(), replicatingFromMaster.getExchangeName())));
i++;
addButton.setEnabled(false);
stopReplicationButton.setEnabled(true);
@@ -325,7 +325,7 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
String messagingPortNumber();
String servletPortNumber();
String registeredAt(String string);
String replicatingFromMaster(String hostname, int jmsPort, int servletPort);
String replicatingFromMaster(String hostname, int jmsPort, int servletPort, String messagingHostname, String exchangeName);
String showWindSpeedSeries();
String showWindDirectionSeries();
String fleet();
@@ -1111,6 +1111,7 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
String invalidSelection();
String advancePassId();
String pleaseSelectAScoringResult();
String timeZone();
String eventOfficialWebsiteURL();
String eventSailorsInfoWebsiteURL();
String eventOverviewURL();
@@ -336,7 +336,7 @@ courseMiddleLine=Course middle line
messagingPortNumber=Messaging port number (0 for default)
servletPortNumber=Servlet port number
registeredAt=Registered at {0}
replicatingFromMaster=Replicating from master {0}, messaging port {1}, servlet port {2}
replicatingFromMaster=Replicating from master {0}:{2}, messaging port {3}:{1}, exchange {4}
showWindSpeedSeries=Show wind speed data
showWindDirectionSeries=Show wind directions data
fleet=Fleet
@@ -1082,6 +1082,7 @@ sponsorImageURLs=Sponsor Image URLs
invalidSelection=The current selection isn''t valid.
advancePassId=Advance Pass ID
pleaseSelectAScoringResult=Please select a scoring result...
timeZone=Time zone
eventOfficialWebsiteURL=Official Website URL
eventSailorsInfoWebsiteURL=Sailors Info Website URL
eventOverviewURL=Event Overview URL
@@ -337,7 +337,7 @@ courseMiddleLine=Kursmittellinie
messagingPortNumber=Messaging-Portnummer (0 für Default)
servletPortNumber=Servlet Portnummer
registeredAt=Registriert {0}
replicatingFromMaster=Repliziert von master {0}, Messaging Port {1}, Servlet Port {2}
replicatingFromMaster=Repliziert von master {0}:{2}, Messaging Port {3}:{1}, Exchange {4}
showWindSpeedSeries=Daten für Windgeschwindigkeit zeigen
showWindDirectionSeries=Daten für Windrichtung zeigen
fleet=Flotte
@@ -1077,6 +1077,7 @@ sponsorImageURLs=Sponsorenlogo-URLs
invalidSelection=Die aktuelle Selektion ist nicht gültig.
advancePassId=Pass ID erhöhen
pleaseSelectAScoringResult=Bitte ein Ergebnis auswählen...
timeZone=Zeitzone
eventOfficialWebsiteURL=URL der offiziellen Veranstaltungswebseite
eventSailorsInfoWebsiteURL=URL zur Webseite mit Seglerinfos
eventOverviewURL=URL der Veranstaltungsübersicht
@@ -329,7 +329,7 @@ courseMiddleLine=Средняя линия курса
messagingPortNumber=Номер порта обмена сообщениями ( по умолчанию 0)
servletPortNumber=Номер порта сервлета
registeredAt=Зарегистрирован в {0}
replicatingFromMaster=Дублирование с основного {0}, порт передачи обмена сообщениями {1}, порт сервлета {2}
replicatingFromMaster=Replicating from master {0}:{2}, messaging port {3}:{1}, exchange {4}
showWindSpeedSeries=Показать данные о силе ветра
showWindDirectionSeries=Показать данные о направлении ветра
fleet=Флот
@@ -1030,6 +1030,7 @@ imageURLs=Image URLs
videoURLs=Video URLs
sponsorImageURLs=Sponsor Image URLs
pleaseSelectAScoringResult=Please select a scoring result...
timeZone=Time zone
eventOfficialWebsiteURL=Official Website URL
eventSailorsInfoWebsiteURL=Sailors Info Website URL
eventOverviewURL=Event Overview URL
@@ -328,7 +328,7 @@ setFixedPassing=Set time as mark passing
maximumSpeedOverGroundInKnotsTooltip=比赛中参赛队的最大实际速度
twoMarkControlPoint=2-mark-controlpoint
earlyStarters=Early starters
replicatingFromMaster=Replicating from master {0}, messaging port {1}, servlet port {2}
replicatingFromMaster=Replicating from master {0}:{2}, messaging port {3}:{1}, exchange {4}
latitude=Latitude
filterByLeaderboard=Filter by Leaderboard
fromDeg=从 (角度)
@@ -840,6 +840,7 @@ refreshIntervalMustBeGreaterThanXSeconds=刷新间隔必须大于0秒 {0}
authorName=Author name
raceIsInStartphase=开始阶段
pleaseSelectAScoringResult=Please select a scoring result...
timeZone=Time zone
portSide=左舷
explainReplicationHostname=Hostname where the replication master is running on.
igtimiAccounts=Igtimi Accounts
@@ -60,4 +60,12 @@ public class DateAndTimeFormatterUtil {
return result;
}
public static String getClientTimeZoneAsGMTString() {
Date now = new Date();
@SuppressWarnings("deprecation")
int localeTimezoneOffset = now.getTimezoneOffset();
TimeZone localeTimeZone = TimeZone.createTimeZone(localeTimezoneOffset);
return localeTimeZone.getGMTString(now);
}
}
@@ -864,8 +864,9 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
private RaceInfoDTO createRaceInfoDTO(String seriesName, RaceColumn raceColumn, Fleet fleet) {
RaceInfoDTO raceInfoDTO = new RaceInfoDTO();
RaceLog raceLog = raceColumn.getRaceLog(fleet);
final TrackedRace trackedRace = raceColumn.getTrackedRace(fleet);
raceInfoDTO.isTracked = trackedRace != null ? true : false;
if (raceLog != null) {
raceInfoDTO.isTracked = raceColumn.getTrackedRace(fleet) != null ? true : false;
ReadonlyRaceState state = ReadonlyRaceStateImpl.create(getService(), raceLog);
TimePoint startTime = state.getStartTime();
if (startTime != null) {
@@ -881,13 +882,14 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
} else {
raceInfoDTO.finishedTime = null;
if (raceInfoDTO.isTracked) {
TimePoint endOfRace = raceColumn.getTrackedRace(fleet).getEndOfRace();
TimePoint endOfRace = trackedRace.getEndOfRace();
raceInfoDTO.finishedTime = endOfRace != null ? endOfRace.asDate() : null;
}
}
final TimePoint now = MillisecondsTimePoint.now();
if (startTime != null) {
FlagPoleState activeFlagState = state.getRacingProcedure().getActiveFlags(startTime, MillisecondsTimePoint.now());
FlagPoleState activeFlagState = state.getRacingProcedure().getActiveFlags(startTime, now);
List<FlagPole> activeFlags = activeFlagState.getCurrentState();
FlagPoleState previousFlagState = activeFlagState.getPreviousState(state.getRacingProcedure(), startTime);
List<FlagPole> previousFlags = previousFlagState.getCurrentState();
@@ -919,7 +921,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
CourseBase lastCourse = state.getCourseDesign();
if (lastCourse != null) {
raceInfoDTO.lastCourseDesign = convertToRaceCourseDTO(lastCourse, /* trackedRace */ null, /* timePoint */ null);
raceInfoDTO.lastCourseDesign = convertToRaceCourseDTO(lastCourse, new TrackedRaceMarkPositionFinder(trackedRace), now);
raceInfoDTO.lastCourseName = lastCourse.getName();
}
@@ -937,7 +939,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
Wind wind = state.getWindFix();
if (wind != null) {
raceInfoDTO.lastWind = createWindDTOFromAlreadyAveraged(wind, MillisecondsTimePoint.now());
raceInfoDTO.lastWind = createWindDTOFromAlreadyAveraged(wind, now);
}
fillStartProcedureSpecifics(raceInfoDTO, state);
@@ -947,7 +949,6 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
raceInfoDTO.fleetName = fleet.getName();
raceInfoDTO.fleetOrdering = fleet.getOrdering();
raceInfoDTO.raceIdentifier = raceColumn.getRaceIdentifier(fleet);
raceInfoDTO.isTracked = raceColumn.getTrackedRace(fleet) != null ? true : false;
return raceInfoDTO;
}
@@ -3292,8 +3293,8 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
if (replicatingFromMaster == null) {
master = null;
} else {
master = new ReplicationMasterDTO(replicatingFromMaster.getHostname(), replicatingFromMaster.getMessagingPort(),
replicatingFromMaster.getServletPort());
master = new ReplicationMasterDTO(replicatingFromMaster.getHostname(), replicatingFromMaster.getServletPort(),
replicatingFromMaster.getMessagingHostname(), replicatingFromMaster.getMessagingPort(), replicatingFromMaster.getExchangeName());
}
return new ReplicationStateDTO(master, replicaDTOs, service.getServerIdentifier().toString());
}
@@ -6,12 +6,16 @@ public class ReplicationMasterDTO implements IsSerializable {
private String hostname;
private int messagingPort;
private int servletPort;
private String messagingHostname;
private String exchangeName;
ReplicationMasterDTO() {}
public ReplicationMasterDTO(String hostname, int messagingPort, int servletPort) {
public ReplicationMasterDTO(String hostname, int servletPort, String messagingHostname, int messagingPort, String exchangeName) {
super();
this.hostname = hostname;
this.messagingPort = messagingPort;
this.servletPort = servletPort;
this.messagingHostname = messagingHostname;
this.messagingPort = messagingPort;
this.exchangeName = exchangeName;
}
public String getHostname() {
return hostname;
@@ -22,4 +26,10 @@ public class ReplicationMasterDTO implements IsSerializable {
public int getServletPort() {
return servletPort;
}
public String getMessagingHostname() {
return messagingHostname;
}
public String getExchangeName() {
return exchangeName;
}
}
@@ -1,2 +1,3 @@
eclipse.preferences.version=1
encoding//src/main/java/com/sap/sse/security/ui/client/i18n/StringMessages_de.properties=UTF-8
encoding//src/main/java/com/sap/sse/security/ui/servlet/RedirectServlet.java=utf-8
-1
View File
@@ -57,7 +57,6 @@
<module>com.sap.sailing.expeditionconnector</module>
<module>com.sap.sailing.server</module>
<module>com.sap.sailing.server.gateway</module>
<module>com.sap.sailing.server.gateway.ess40</module>
<module>com.sap.sailing.server.gateway.serialization</module>
<module>com.sap.sailing.server.gateway.serialization.shared.android</module>
<module>com.sap.sailing.www</module>