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

Last change on this file since 11186 was 10001, checked in by Don-vip, 8 years ago

sonar - Local variable and method parameter names should comply with a naming convention

  • Property svn:eol-style set to native
File size: 2.0 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions.downloadtasks;
3
4import java.util.concurrent.Future;
5
6import static org.openstreetmap.josm.tools.I18n.tr;
7
8import org.openstreetmap.josm.Main;
9import org.openstreetmap.josm.data.osm.DataSet;
10import org.openstreetmap.josm.gui.progress.ProgressMonitor;
11import org.openstreetmap.josm.io.OsmServerLocationReader;
12import org.openstreetmap.josm.io.OsmTransferException;
13
14/**
15 * Task allowing to download compressed OSM-Change files (gzip and bzip2)
16 * @since 5361
17 */
18public class DownloadOsmChangeCompressedTask extends DownloadOsmChangeTask {
19
20 @Override
21 public String[] getPatterns() {
22 return new String[]{"https?://.*/.*\\.osc.(gz|bz2?)"};
23 }
24
25 @Override
26 public String getTitle() {
27 return tr("Download Compressed OSM Change");
28 }
29
30 /**
31 * Loads a given URL
32 * @param newLayer {@code true} if the data should be saved to a new layer
33 * @param url The URL as String
34 * @param progressMonitor progress monitor for user interaction
35 */
36 @Override
37 public Future<?> loadUrl(boolean newLayer, final String url, ProgressMonitor progressMonitor) {
38 downloadTask = new DownloadTask(newLayer, new OsmServerLocationReader(url), progressMonitor) {
39 @Override
40 protected DataSet parseDataSet() throws OsmTransferException {
41 ProgressMonitor subTaskMonitor = progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false);
42 if (url.matches("https?://.*/.*\\.osc.bz2?")) {
43 return reader.parseOsmChangeBzip2(subTaskMonitor);
44 } else {
45 return reader.parseOsmChangeGzip(subTaskMonitor);
46 }
47 }
48 };
49 currentBounds = null;
50 // Extract .osc.gz/bz/bz2 filename from URL to set the new layer name
51 extractOsmFilename("https?://.*/(.*\\.osc.(gz|bz2?))", url);
52 return Main.worker.submit(downloadTask);
53 }
54}
Note: See TracBrowser for help on using the repository browser.