Changeset 1879 in josm for trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
- Timestamp:
- 2009-08-02T14:36:40+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
r1869 r1879 7 7 import java.util.Collection; 8 8 import java.util.concurrent.Future; 9 import java.util.logging.Logger; 9 10 10 11 import javax.swing.JCheckBox; … … 16 17 import org.openstreetmap.josm.data.osm.DataSet; 17 18 import org.openstreetmap.josm.data.osm.DataSource; 19 import org.openstreetmap.josm.gui.ExceptionDialogUtil; 18 20 import org.openstreetmap.josm.gui.PleaseWaitRunnable; 19 21 import org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask; … … 34 36 */ 35 37 public class DownloadOsmTask implements DownloadTask { 38 private static final Logger logger = Logger.getLogger(DownloadOsmTask.class.getName()); 39 36 40 private static Bounds currentBounds; 37 41 private Future<Task> task = null; … … 42 46 private DataSet dataSet; 43 47 private boolean newLayer; 48 private boolean cancelled; 49 private Exception lastException; 44 50 45 51 public Task(boolean newLayer, OsmServerReader reader, ProgressMonitor progressMonitor) { … … 50 56 51 57 @Override public void realRun() throws IOException, SAXException, OsmTransferException { 52 dataSet = reader.parseOsm(progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false)); 58 try { 59 dataSet = reader.parseOsm(progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false)); 60 } catch(Exception e) { 61 if (cancelled) { 62 logger.warning(tr("Ignoring exception because download has been cancelled. Exception was: {0}" + e.toString())); 63 return; 64 } 65 if (e instanceof OsmTransferException) { 66 lastException = e; 67 } else { 68 lastException = new OsmTransferException(e); 69 } 70 } 53 71 } 54 72 … … 84 102 85 103 @Override protected void finish() { 104 if (cancelled) 105 return; 106 if (lastException != null) { 107 ExceptionDialogUtil.explainException(lastException); 108 return; 109 } 86 110 if (dataSet == null) 87 111 return; // user canceled download or error occurred
Note:
See TracChangeset
for help on using the changeset viewer.