From b478a1efbbe63fa5a44ae3267ebb29a8453d6f15 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 23 Mar 2016 11:43:44 +0100 Subject: [PATCH] added a first implementation of SailingServiceImpl.editMarkFix Change-Id: I84c94476846830a3fe89280ad3793777c2c9ec4b --- .../sailing/gwt/ui/client/SailingService.java | 2 +- .../gwt/ui/server/SailingServiceImpl.java | 22 +++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java index a45d718feb0..a2388ef0770 100755 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingService.java @@ -637,6 +637,6 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS void addMarkFix(String leaderboardName, String raceColumnName, String fleetName, String markIdAsString, GPSFixDTO newFix); - void editMarkFix(String leaderboardName, String raceColumnName, String fleetName, String markIdAsString, GPSFixDTO oldFix, Position newPosition); + void editMarkFix(String leaderboardName, String raceColumnName, String fleetName, String markIdAsString, GPSFixDTO oldFix, Position newPosition) throws NotRevokableException; } 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 70d281b79a0..8aa0618eedb 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 @@ -6230,7 +6230,25 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S @Override public void editMarkFix(String leaderboardName, String raceColumnName, String fleetName, String markIdAsString, - GPSFixDTO oldFix, Position newPosition) { - // TODO Auto-generated method stub + GPSFixDTO oldFix, Position newPosition) throws NotRevokableException { + final Leaderboard leaderboard = getService().getLeaderboardByName(leaderboardName); + if (leaderboard != null) { + final RaceColumn raceColumn = leaderboard.getRaceColumnByName(raceColumnName); + if (raceColumn != null) { + final RegattaLog regattaLog = raceColumn.getRegattaLog(); + final RegattaLogDeviceMappingFinder mappingFinder = new RegattaLogDeviceMarkMappingFinder(regattaLog); + final Fleet fleet = raceColumn.getFleetByName(fleetName); + if (fleet != null) { + final TimePoint fixTimePoint = new MillisecondsTimePoint(oldFix.timepoint); + for (final Mark mark : raceColumn.getAvailableMarks(fleet)) { + if (mark.getId().toString().equals(markIdAsString)) { + mappingFinder.removeTimePointFromMapping(mark, fixTimePoint); + getRaceLogTrackingAdapter().pingMark(regattaLog, mark, + new GPSFixImpl(newPosition, fixTimePoint), getService()); + } + } + } + } + } } }