mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-25 13:33:59 +00:00
fix for bug 2622: update the series in strict order, synchronously, when editing regatta through UI
This commit is contained in:
1 parent
be0ac550dd
commit
8313b793ce
1 file changed
+27
-17
+27
-17
@@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractCell;
|
||||
@@ -317,23 +318,32 @@ public class RegattaListComposite extends Composite implements RegattasDisplayer
|
||||
}
|
||||
}));
|
||||
|
||||
for (SeriesDTO series : editedRegatta.series) {
|
||||
sailingService.updateSeries(regattaName, series.getName(), series.getName(), series.isMedal(),
|
||||
series.getDiscardThresholds(), series.isStartsWithZeroScore(),
|
||||
series.isFirstColumnIsNonDiscardableCarryForward(), series.hasSplitFleetContiguousScoring(),
|
||||
series.getFleets(), new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to update regatta " + editedRegatta.getName()
|
||||
+ ": " + caught.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
regattaRefresher.fillRegattas();
|
||||
}
|
||||
}));
|
||||
}
|
||||
final Iterator<SeriesDTO> seriesIter = editedRegatta.series.iterator();
|
||||
final Runnable r = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (seriesIter.hasNext()) {
|
||||
final SeriesDTO series = seriesIter.next();
|
||||
sailingService.updateSeries(regattaName, series.getName(), series.getName(), series.isMedal(),
|
||||
series.getDiscardThresholds(), series.isStartsWithZeroScore(),
|
||||
series.isFirstColumnIsNonDiscardableCarryForward(), series.hasSplitFleetContiguousScoring(),
|
||||
series.getFleets(), new MarkedAsyncCallback<Void>(new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to update regatta " + editedRegatta.getName()
|
||||
+ ": " + caught.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
regattaRefresher.fillRegattas();
|
||||
run(); // update next series if iterator has next element
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
};
|
||||
r.run();
|
||||
}
|
||||
|
||||
protected List<RegattaDTO> getSelectedRegattas() {
|
||||
|
||||
Reference in new issue
Block a user