diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractLeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractLeaderboardConfigPanel.java index a595bcabd65..5ac3d16a5d7 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractLeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractLeaderboardConfigPanel.java @@ -853,6 +853,10 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel } }); } + + protected void setImpliedWind(RaceColumnDTOAndFleetDTOWithNameBasedEquality object) { + // TODO implement setImpliedWind + } /** * Helps in obtaining competitors for a specific "race slot" identified by leaderboard name, race column name and diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleResources.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleResources.java index 599742cf0c7..c336079ee01 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleResources.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AdminConsoleResources.java @@ -133,4 +133,7 @@ interface AdminConsoleResources extends ClientBundle { @Source("com/sap/sailing/gwt/ui/client/images/scratchBoat.png") ImageResource scratchBoatIcon(); + + @Source("com/sap/sailing/gwt/ui/client/images/impliedWind.png") + ImageResource impliedWindIcon(); } \ No newline at end of file diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java index 60f482c94b0..ab1ac35ff01 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardConfigPanel.java @@ -8,6 +8,7 @@ import static com.sap.sailing.gwt.ui.adminconsole.LeaderboardRaceConfigImagesBar import static com.sap.sailing.gwt.ui.adminconsole.LeaderboardRaceConfigImagesBarCell.ACTION_REFRESH_RACELOG; import static com.sap.sailing.gwt.ui.adminconsole.LeaderboardRaceConfigImagesBarCell.ACTION_REMOVE; import static com.sap.sailing.gwt.ui.adminconsole.LeaderboardRaceConfigImagesBarCell.ACTION_SCRATCH_BOAT_SELECTION; +import static com.sap.sailing.gwt.ui.adminconsole.LeaderboardRaceConfigImagesBarCell.ACTION_SET_IMPLIED_WIND; import static com.sap.sailing.gwt.ui.adminconsole.LeaderboardRaceConfigImagesBarCell.ACTION_SET_FINISHING_AND_FINISH_TIME; import static com.sap.sailing.gwt.ui.adminconsole.LeaderboardRaceConfigImagesBarCell.ACTION_SET_STARTTIME; import static com.sap.sailing.gwt.ui.adminconsole.LeaderboardRaceConfigImagesBarCell.ACTION_SHOW_RACELOG; @@ -543,6 +544,7 @@ public class LeaderboardConfigPanel extends AbstractLeaderboardConfigPanel object -> editCompetitorToBoatMappings(object.getA(), object.getB())); actionsColumn.addAction(ACTION_CERTIFICATE_ASSIGNMENT, READ, object -> assignCertificates(object)); actionsColumn.addAction(ACTION_SCRATCH_BOAT_SELECTION, READ, object -> selectScratchBoat(object)); + actionsColumn.addAction(ACTION_SET_IMPLIED_WIND, READ, object -> setImpliedWind(object)); racesTable.addColumn(isMedalRaceCheckboxColumn, stringMessages.medalRace()); racesTable.addColumn(isLinkedRaceColumn, stringMessages.islinked()); racesTable.addColumn(explicitFactorColumn, stringMessages.factor()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardRaceConfigImagesBarCell.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardRaceConfigImagesBarCell.java index 8e87699ffac..358624301aa 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardRaceConfigImagesBarCell.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/LeaderboardRaceConfigImagesBarCell.java @@ -21,6 +21,7 @@ public class LeaderboardRaceConfigImagesBarCell extends ImagesBarCell { public final static String ACTION_EDIT_COMPETITOR_TO_BOAT_MAPPINGS = "ACTION_EDIT_COMPETITOR_TO_BOAT_MAPPINGS"; public final static String ACTION_CERTIFICATE_ASSIGNMENT = "ACTION_CERTIFICATE_ASSIGNMENT"; public final static String ACTION_SCRATCH_BOAT_SELECTION = "ACTION_SCRATCH_BOAT_SELECTION"; + public final static String ACTION_SET_IMPLIED_WIND = "ACTION_SET_IMPLIED_WIND"; private final StringMessages stringMessages; private final SelectedLeaderboardProvider selectedLeaderboardProvider; @@ -55,6 +56,7 @@ public class LeaderboardRaceConfigImagesBarCell extends ImagesBarCell { if (raceHasORCRankingMetric(object)) { result.add(new ImageSpec(ACTION_CERTIFICATE_ASSIGNMENT, stringMessages.assignCertificates(), resources.updateCertificatesIcon())); result.add(new ImageSpec(ACTION_SCRATCH_BOAT_SELECTION, stringMessages.selectScratchBoat(), resources.scratchBoatIcon())); + result.add(new ImageSpec(ACTION_SET_IMPLIED_WIND, stringMessages.setImpliedWind(), resources.impliedWindIcon())); } return result; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementRaceImagesBarCell.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementRaceImagesBarCell.java index c5de2db0019..44f9123eb37 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementRaceImagesBarCell.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/RaceLogTrackingEventManagementRaceImagesBarCell.java @@ -29,6 +29,7 @@ public class RaceLogTrackingEventManagementRaceImagesBarCell extends ImagesBarCe public final static String ACTION_EDIT_COMPETITOR_TO_BOAT_MAPPINGS = "ACTION_EDIT_COMPETITOR_TO_BOAT_MAPPINGS"; public static final String ACTION_CERTIFICATE_ASSIGNMENT = "ACTION_CERTIFICATE_ASSIGNMENT"; public static final String ACTION_SCRATCH_BOAT_SELECTION = "ACTION_SCRATCH_BOAT_SELECTION"; + public static final String ACTION_SET_IMPLIED_WIND = "ACTION_SET_IMPLIED_WIND"; private final StringMessages stringMessages; private SmartphoneTrackingEventManagementPanel smartphoneTrackingEventManagementPanel; @@ -73,6 +74,7 @@ public class RaceLogTrackingEventManagementRaceImagesBarCell extends ImagesBarCe if (raceCouldHaveORCRankingMetric(object)) { result.add(new ImageSpec(ACTION_CERTIFICATE_ASSIGNMENT, stringMessages.assignCertificates(), resources.updateCertificatesIcon())); result.add(new ImageSpec(ACTION_SCRATCH_BOAT_SELECTION, stringMessages.selectScratchBoat(), resources.scratchBoatIcon())); + result.add(new ImageSpec(ACTION_SET_IMPLIED_WIND, stringMessages.setImpliedWind(), resources.impliedWindIcon())); } return result; } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java index 4e67fac67c8..96c53a7807f 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/SmartphoneTrackingEventManagementPanel.java @@ -326,6 +326,8 @@ public class SmartphoneTrackingEventManagementPanel t -> assignCertificates(t)); raceActionColumn.addAction(RaceLogTrackingEventManagementRaceImagesBarCell.ACTION_SCRATCH_BOAT_SELECTION, READ, t -> selectScratchBoat(t)); + raceActionColumn.addAction(RaceLogTrackingEventManagementRaceImagesBarCell.ACTION_SET_IMPLIED_WIND, READ, + t -> setImpliedWind(t)); racesTable.addColumn(raceLogTrackingStateColumn, stringMessages.raceStatusColumn()); racesTable.addColumn(trackerStateColumn, stringMessages.trackerStatus()); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java index 35894e7bb69..77cd7aa10d2 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java @@ -2304,4 +2304,5 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, String errorObtainingScratchBoat(String message); String errorSettingScratchBoat(String message); String scratchBoatSetSuccessfully(); + String setImpliedWind(); } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties index 6df61d258b4..d350e1101af 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties @@ -2307,4 +2307,5 @@ desiredTotalDistanceInNauticalMiles=Desired Total Distance (NM) selectScratchBoat=Select scratch boat errorObtainingScratchBoat=Error obtaining scratch boat: {0} errorSettingScratchBoat=Error setting scratch boat: {0} -scratchBoatSetSuccessfully=Scratch boat set successfully. \ No newline at end of file +scratchBoatSetSuccessfully=Scratch boat set successfully. +setImpliedWind=Set implied wind \ 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_de.properties b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties index 51d86e6a4ec..92bb60f8de8 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties @@ -2299,4 +2299,5 @@ desiredTotalDistanceInNauticalMiles=Gewünschte Gesamtdistanz (NM) selectScratchBoat="Scratch-Boot" auswählen errorObtainingScratchBoat=Fehler beim Laden des "Scratch-Bootes": {0} errorSettingScratchBoat=Fehler beim Setzen des "Scratch-Bootes": {0} -scratchBoatSetSuccessfully="Scratch-Boot" erfolgreich geändert. \ No newline at end of file +scratchBoatSetSuccessfully="Scratch-Boot" erfolgreich geändert. +setImpliedWind=Implizierten Wind festlegen \ No newline at end of file diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/deserialization/test/racelog/RaceLogEventDeserializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/deserialization/test/racelog/RaceLogEventDeserializerTest.java index 380260469fb..2f9ae0d3b8f 100644 --- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/deserialization/test/racelog/RaceLogEventDeserializerTest.java +++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/deserialization/test/racelog/RaceLogEventDeserializerTest.java @@ -38,6 +38,7 @@ import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogEventD import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogFlagEventDeserializer; import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogORCCertificateAssignmentEventDeserializer; import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogORCLegDataEventDeserializer; +import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogORCSetImpliedWindEventDeserializer; import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogORCUseImpliedWindFromOtherRaceEventDeserializer; import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogTagEventDeserializer; import com.sap.sailing.server.gateway.deserialization.racelog.impl.RaceLogUseCompetitorsFromRaceLogEventDeserializer; @@ -63,7 +64,8 @@ public class RaceLogEventDeserializerTest { mockitoRaceLogEndOfTrackingEventDeserializer, mockitoRaceLogTagEventDeserializer, new RaceLogORCLegDataEventDeserializer(competitorDeserializer), null, new RaceLogORCCertificateAssignmentEventDeserializer(competitorDeserializer), - new RaceLogORCUseImpliedWindFromOtherRaceEventDeserializer(competitorDeserializer)); + new RaceLogORCUseImpliedWindFromOtherRaceEventDeserializer(competitorDeserializer), + new RaceLogORCSetImpliedWindEventDeserializer(competitorDeserializer)); } } diff --git a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogEventSerializerTest.java b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogEventSerializerTest.java index 83aebb9e754..dd0a9392570 100644 --- a/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogEventSerializerTest.java +++ b/java/com.sap.sailing.server.gateway.serialization.test/src/com/sap/sailing/server/gateway/serialization/test/racelog/RaceLogEventSerializerTest.java @@ -75,6 +75,7 @@ public class RaceLogEventSerializerTest { private JsonSerializer orcCertificateAssignmentEventSerializer; private JsonSerializer orcScratchBoatEventSerializer; private JsonSerializer orcUseImpliedWindFromOtherRaceEventSerializer; + private JsonSerializer orcSetImpliedWindEventSerializer; private AbstractLogEventAuthor author = new LogEventAuthorImpl("Test Author", 1); @@ -110,6 +111,7 @@ public class RaceLogEventSerializerTest { orcCertificateAssignmentEventSerializer = mock(JsonSerializer.class); orcScratchBoatEventSerializer = mock(JsonSerializer.class); orcUseImpliedWindFromOtherRaceEventSerializer = mock(JsonSerializer.class); + orcSetImpliedWindEventSerializer = mock(JsonSerializer.class); serializer = new RaceLogEventSerializer(flagEventSerializer, startTimeSerializer, raceStatusSerializer, passChangedSerializer, courseDesignChangedEventSerializer, @@ -123,7 +125,7 @@ public class RaceLogEventSerializerTest { startOfTrackingEventSerializer, useCompetitorsFromRaceLogEventSerializer, endOfTrackingEventSerializer, tagEventSerializer, orcLegDataEventSerializer, orcCertificateAssignmentEventSerializer, orcScratchBoatEventSerializer, - orcUseImpliedWindFromOtherRaceEventSerializer); + orcUseImpliedWindFromOtherRaceEventSerializer, orcSetImpliedWindEventSerializer); } @Test diff --git a/java/com.sap.sailing.server/SailingServer (No Proxy).launch b/java/com.sap.sailing.server/SailingServer (No Proxy).launch index 4f00431009a..8305d24b8a5 100755 --- a/java/com.sap.sailing.server/SailingServer (No Proxy).launch +++ b/java/com.sap.sailing.server/SailingServer (No Proxy).launch @@ -32,9 +32,9 @@ - + - +