Ignore:
Timestamp:
2018-01-21T23:28:56+01:00 (6 years ago)
Author:
Don-vip
Message:

fix #15816 - full XZ support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeCompressedTask.java

    r12634 r13352  
    99import org.openstreetmap.josm.gui.MainApplication;
    1010import org.openstreetmap.josm.gui.progress.ProgressMonitor;
     11import org.openstreetmap.josm.io.Compression;
    1112import org.openstreetmap.josm.io.OsmServerLocationReader;
    1213import org.openstreetmap.josm.io.OsmTransferException;
    1314
    1415/**
    15  * Task allowing to download compressed OSM-Change files (gzip and bzip2)
     16 * Task allowing to download compressed OSM-Change files (gzip, xz and bzip2)
    1617 * @since 5361
    1718 */
    1819public class DownloadOsmChangeCompressedTask extends DownloadOsmChangeTask {
    1920
     21    private static final String PATTERN_COMPRESS = "https?://.*/(.*\\.osc.(gz|xz|bz2?|zip))";
     22
    2023    @Override
    2124    public String[] getPatterns() {
    22         return new String[]{"https?://.*/.*\\.osc.(gz|bz2?)"};
     25        return new String[]{PATTERN_COMPRESS};
    2326    }
    2427
     
    4043            protected DataSet parseDataSet() throws OsmTransferException {
    4144                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                 }
     45                return reader.parseOsmChange(subTaskMonitor, Compression.byExtension(url));
    4746            }
    4847        };
    4948        currentBounds = null;
    50         // Extract .osc.gz/bz/bz2 filename from URL to set the new layer name
    51         extractOsmFilename("https?://.*/(.*\\.osc.(gz|bz2?))", url);
     49        // Extract .osc.gz/xz/bz/bz2/zip filename from URL to set the new layer name
     50        extractOsmFilename(PATTERN_COMPRESS, url);
    5251        return MainApplication.worker.submit(downloadTask);
    5352    }
Note: See TracChangeset for help on using the changeset viewer.