source: josm/trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeCompressedTask.java@ 5909

Last change on this file since 5909 was 5909, checked in by stoecker, 11 years ago

fix all remaining javadoc warnings

File size: 2.0 KB
Line 
1// License: GPL. Copyright 2007 by Immanuel Scholz and others
2package org.openstreetmap.josm.actions.downloadtasks;
3
4import java.util.concurrent.Future;
5
6import org.openstreetmap.josm.Main;
7import org.openstreetmap.josm.data.osm.DataSet;
8import org.openstreetmap.josm.gui.progress.ProgressMonitor;
9import org.openstreetmap.josm.io.OsmServerLocationReader;
10import org.openstreetmap.josm.io.OsmTransferException;
11
12public class DownloadOsmChangeCompressedTask extends DownloadOsmChangeTask {
13
14 /* (non-Javadoc)
15 * @see org.openstreetmap.josm.actions.downloadtasks.DownloadTask#acceptsUrl(java.lang.String)
16 */
17 @Override
18 public boolean acceptsUrl(String url) {
19 return url != null && url.matches("https?://.*/.*\\.osc.(gz|bz2?)"); // Remote .osc.gz / .osc.bz / .osc.bz2 files
20 }
21
22 /**
23 * Loads a given URL
24 * @param new_layer {@code true} if the data should be saved to a new layer
25 * @param url The URL as String
26 * @param progressMonitor progress monitor for user interaction
27 */
28 public Future<?> loadUrl(boolean new_layer, final String url, ProgressMonitor progressMonitor) {
29 downloadTask = new DownloadTask(new_layer, new OsmServerLocationReader(url), progressMonitor) {
30 @Override
31 protected DataSet parseDataSet() throws OsmTransferException {
32 ProgressMonitor subTaskMonitor = progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false);
33 if (url.matches("https?://.*/.*\\.osc.bz2?")) {
34 return reader.parseOsmChangeBzip2(subTaskMonitor);
35 } else {
36 return reader.parseOsmChangeGzip(subTaskMonitor);
37 }
38 }
39 };
40 currentBounds = null;
41 // Extract .osc.gz/bz/bz2 filename from URL to set the new layer name
42 extractOsmFilename("https?://.*/(.*\\.osc.(gz|bz2?))", url);
43 return Main.worker.submit(downloadTask);
44 }
45}
Note: See TracBrowser for help on using the repository browser.