added a first implementation of SailingServiceImpl.editMarkFix

Change-Id: I84c94476846830a3fe89280ad3793777c2c9ec4b
This commit is contained in:
Axel Uhl committed 2016-03-23 11:43:44 +01:00
1 parent 738b898669
commit b478a1efbb
2 files changed
+21 -3

No files matched your search

@@ -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;
}
@@ -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<Mark> 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());
}
}
}
}
}
}
}