source: josm/trunk/src/org/openstreetmap/josm/gui/io/UploadNoteLayerTask.java@ 12678

Last change on this file since 12678 was 11553, checked in by Don-vip, 7 years ago

refactor handling of null values - use Java 8 Optional where possible

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.io;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.util.Optional;
7
8import org.openstreetmap.josm.actions.upload.UploadNotesTask;
9import org.openstreetmap.josm.gui.layer.NoteLayer;
10import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
11import org.openstreetmap.josm.gui.progress.ProgressMonitor;
12import org.openstreetmap.josm.tools.CheckParameterUtil;
13
14/**
15 * UploadNoteLayerTask uploads the data managed by an {@link NoteLayer} asynchronously.
16 * @since 8474
17 */
18public class UploadNoteLayerTask extends AbstractIOTask {
19
20 private final NoteLayer layer;
21 private final ProgressMonitor monitor;
22
23 /**
24 * Creates the upload task.
25 *
26 * @param layer the layer. Must not be null.
27 * @param monitor a progress monitor. If monitor is null, uses {@link NullProgressMonitor#INSTANCE}
28 * @throws IllegalArgumentException if layer is null
29 * @throws IllegalArgumentException if strategy is null
30 */
31 public UploadNoteLayerTask(NoteLayer layer, ProgressMonitor monitor) {
32 CheckParameterUtil.ensureParameterNotNull(layer, "layer");
33 this.layer = layer;
34 this.monitor = Optional.ofNullable(monitor).orElse(NullProgressMonitor.INSTANCE);
35 }
36
37 @Override
38 public void run() {
39 monitor.indeterminateSubTask(tr("Uploading notes to server"));
40 new UploadNotesTask().uploadNotes(layer.getNoteData(), monitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false));
41 if (isCanceled())
42 return;
43 layer.onPostUploadToServer();
44 }
45
46 @Override
47 public void cancel() {
48 setCanceled(true);
49 }
50}
Note: See TracBrowser for help on using the repository browser.