mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-16 10:48:47 +00:00
bug6113: local play/stop buttons work according the intended behavior
This commit is contained in:
+5
-3
@@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.RaceLogTrackingState;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.AbstractLeaderboardConfigPanel.RaceColumnDTOAndFleetDTOWithNameBasedEquality;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
@@ -58,10 +59,11 @@ public class RaceLogTrackingEventManagementRaceImagesBarCell extends ImagesBarCe
|
||||
result.add(new ImageSpec(ACTION_SET_FINISHING_AND_FINISH_TIME, stringMessages.setFinishingAndFinishTime(), makeImagePrototype(resources.blueSmall())));
|
||||
result.add(new ImageSpec(ACTION_SHOW_RACELOG, stringMessages.raceLog(), makeImagePrototype(resources.flagIcon())));
|
||||
result.add(new ImageSpec(ACTION_SET_TRACKING_TIMES, stringMessages.setTrackingTimes(), makeImagePrototype(resources.setTrackingTimes())));
|
||||
boolean isForTracking = object.getA().getRaceLogTrackingInfo(object.getB()).raceLogTrackingState.isForTracking();
|
||||
if (!isForTracking) {
|
||||
final boolean trackerExists = object.getA().getRaceLogTrackingInfo(object.getB()).raceLogTrackerExists;
|
||||
final RaceLogTrackingState trackingState = object.getA().getRaceLogTrackingInfo(object.getB()).raceLogTrackingState;
|
||||
if (trackingState == RaceLogTrackingState.AWAITING_RACE_DEFINITION || (trackingState == RaceLogTrackingState.TRACKING && !trackerExists)) {
|
||||
result.add(new ImageSpec(ACTION_START_TRACKING, stringMessages.startTracking(), makeImagePrototype(resources.startRaceLogTracking())));
|
||||
} else {
|
||||
} else if (trackingState == RaceLogTrackingState.TRACKING && trackerExists) {
|
||||
result.add(new ImageSpec(ACTION_STOP_TRACKING, stringMessages.stopTracking(), makeImagePrototype(resources.stopRaceLogTracking())));
|
||||
}
|
||||
if (smartphoneTrackingEventManagementPanel.getSelectedLeaderboard().canBoatsOfCompetitorsChangePerRace) {
|
||||
|
||||
+13
-12
@@ -578,12 +578,14 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
|
||||
|
||||
private void stopTracking(
|
||||
final Set<RaceColumnDTOAndFleetDTOWithNameBasedEquality> selectedSet) {
|
||||
final List<RegattaAndRaceIdentifier> racesToStopTracking = new ArrayList<RegattaAndRaceIdentifier>();
|
||||
final List<RegattaAndRaceIdentifier> racesToStopTracking = new ArrayList<RegattaAndRaceIdentifier>();
|
||||
for (RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnDTOAndFleetDTOWithNameBasedEquality : selectedSet) {
|
||||
RaceDTO race = raceColumnDTOAndFleetDTOWithNameBasedEquality.getA().getRace(raceColumnDTOAndFleetDTOWithNameBasedEquality.getB());
|
||||
if (race != null && race.isTracked){
|
||||
racesToStopTracking.add(race.getRaceIdentifier());
|
||||
}
|
||||
if (doesTrackerExist(raceColumnDTOAndFleetDTOWithNameBasedEquality)) {
|
||||
final RaceDTO race = raceColumnDTOAndFleetDTOWithNameBasedEquality.getA().getRace(raceColumnDTOAndFleetDTOWithNameBasedEquality.getB());
|
||||
if (race != null) {
|
||||
racesToStopTracking.add(race.getRaceIdentifier());
|
||||
}
|
||||
}
|
||||
}
|
||||
sailingServiceWrite.stopTrackingRaces(racesToStopTracking, new MarkedAsyncCallback<Void>(
|
||||
new AsyncCallback<Void>() {
|
||||
@@ -663,6 +665,12 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
|
||||
raceColumnsAndFleets.add(new Triple<String, String, String>(selectedLeaderboard.getName(), raceColumn.getName(), fleet.getName()));
|
||||
}
|
||||
}
|
||||
raceColumnTable.getDataProvider().getList().clear();
|
||||
for (RaceColumnDTO raceColumn : selectedLeaderboard.getRaceList()) {
|
||||
for (FleetDTO fleet : raceColumn.getFleets()) {
|
||||
raceColumnTable.getDataProvider().getList().add(new RaceColumnDTOAndFleetDTOWithNameBasedEquality(raceColumn, fleet, selectedLeaderboard));
|
||||
}
|
||||
}
|
||||
sailingServiceWrite.getTrackingTimes(raceColumnsAndFleets,
|
||||
new AsyncCallback<Map<Triple<String, String, String>, Pair<TimePointSpecificationFoundInLog, TimePointSpecificationFoundInLog>>>() {
|
||||
@Override
|
||||
@@ -673,13 +681,6 @@ public class SmartphoneTrackingEventManagementPanel extends AbstractLeaderboardC
|
||||
@Override
|
||||
public void onSuccess(Map<Triple<String, String, String>, Pair<TimePointSpecificationFoundInLog, TimePointSpecificationFoundInLog>> result) {
|
||||
raceWithStartAndEndOfTrackingTime = result;
|
||||
raceColumnTable.getDataProvider().getList().clear();
|
||||
for (RaceColumnDTO raceColumn : selectedLeaderboard.getRaceList()) {
|
||||
for (FleetDTO fleet : raceColumn.getFleets()) {
|
||||
RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnDTOAndFleet2 = new RaceColumnDTOAndFleetDTOWithNameBasedEquality(raceColumn, fleet, getSelectedLeaderboard());
|
||||
raceColumnTable.getDataProvider().getList().add(raceColumnDTOAndFleet2);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
selectedLeaderBoardPanel.setVisible(true);
|
||||
|
||||
Reference in New Issue
Block a user